| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > VAR vs. OUT? |
| Автор: BraM's 29.7.2004, 08:44 |
| Вообщем-то поиск по форуму не дал мне ответа на вопрос - в чём разница между var-папаметрами и out-параметрами? |
| Автор: Guest 29.7.2004, 08:50 | ||
OUT
Var - дает указатель на облясть памяти отведенную для переменной |
| Автор: BraM's 29.7.2004, 09:05 |
| Всё равно не понял. они ведь оба, получается, дают адрес... то есть передачу по ссылке... |
| Автор: Akella 29.7.2004, 09:12 |
| есть такое объявление procedure myproc(var a:integer); begin //здесь программа будет работать именно с переменной а //т.е. будет создана еще одна переменная в памяти и работа будет //производиться именно с ней end; procedure myproc(a:integer); begin //здесь программа будет работать с ссылкой в памяти на переменую а end; procedure myproc(b:string; out a:integer); begin //можно написать так a:=25; end; //а где-то дальше var c:integer; begin myproc("lcmvfgfg", c);//c:=25 end; |
| Автор: Cheba 29.7.2004, 09:20 | ||
|
| Автор: BraM's 29.7.2004, 09:21 | ||
Вот объясните мне - в чём разница? |
| Автор: Cheba 29.7.2004, 09:32 | ||||||||
|
| Автор: BraM's 29.7.2004, 09:44 |
| Cheba Так ведь именно про это я и говорю. Результат одинаковй! На кой стрём тогда понадобилось вводить "out"? |
| Автор: <Spawn> 29.7.2004, 10:52 | ||
|
| Автор: Петрович 29.7.2004, 21:38 | ||
С точностью до НАОБОРОТ! |
| Автор: Akella 30.7.2004, 08:54 |
| извините, ошибочка вышла... |