Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизBorland Pascal Найти похожие ветки
← →
ArtemESC © (2006-03-05 20:23) [0]Можно ли в сабже возвращать запись функцией?
← →
Vendict © (2006-03-05 20:25) [1]Такая возможность по-моему появилась только в Delphi7.
← →
ArtemESC © (2006-03-05 20:27) [2]Vendict © (05.03.06 20:25) [1]
Что-же делать не подскажите? С указателями
очень заморочно- сначала создавать, потом удалять..
← →
wicked © (2006-03-05 20:32) [3]возвращать через var параметр....
← →
ArtemESC © (2006-03-05 20:40) [4]wicked © (05.03.06 20:32) [3]
Не очень эффективно...
← →
wicked © (2006-03-05 20:47) [5]> ArtemESC © (05.03.06 20:40) [4]
> Не очень эффективно...
учи матчасть - var параметры - это ссылка на актуальную переменную.... эффективней только регистровый доступ....
или ты путаешь эффективность с (сомнительной) легкостью написания?...
← →
GuAV © (2006-03-05 22:49) [6]
> ArtemESC © (05.03.06 20:40) [4]
> Не очень эффективно...
Хt, а как ты думаешь, как в Delphi реализовано возвращение записи как результат функции ? ;-)
← →
Lamer@fools.ua © (2006-03-05 23:46) [7]>Такая возможность по-моему появилась только в Delphi7.
И как только люди до седьмой версии Delphi структуры/записи возвращали как результат функции, одному Торвальдсу с Гейтсом известно.
← →
Marser © (2006-03-06 00:08) [8]> [1] Vendict © (05.03.06 20:25)
> Такая возможность по-моему появилась только в Delphi7.
Не знал... Моя D6 тоже...
← →
jack128 © (2006-03-06 00:14) [9]Vendict © (05.03.06 20:25) [1]
Такая возможность по-моему появилась только в Delphi7.
ну это ты загнул, конечно. раньше такая возможность появилась, значительно раньше.
wicked © (05.03.06 20:47) [5]
с (сомнительной) легкостью написания?...
В чем приемущество var параметра перед результатом?
← →
TStas © (2006-03-06 00:39) [10]Какиее-то паскали возвращают, но они юниксовые. ТОт, колторывй был у меня, я его стер и номер не помню не мог возвращать структуру
← →
Германн © (2006-03-06 01:50) [11]
> ArtemESC © (05.03.06 20:23)
>
> Можно ли в сабже возвращать запись функцией?
>
> ArtemESC © (05.03.06 20:27) [2]
>
> Vendict © (05.03.06 20:25) [1]
> Что-же делать не подскажите? С указателями
> очень заморочно- сначала создавать, потом удалять.
> .
Имхо, следущим шагом будет жалоба на то, что приходится нажимать на клавиши. А потом и на кнопки мышки. :(((
← →
Defunct © (2006-03-06 02:48) [12]> ArtemESC © (05.03.06 20:27) [2]
> Что-же делать не подскажите? С указателями
> очень заморочно- сначала создавать, потом удалять.
Чем заморочно-то?type PMyRec = ^TMyRec;
TMyRec = record
zz : string[10];
i : integer;
end;
function Hello: PMyRec;
var
MyRecPtr : PMyRec;
begin
New( MyRecPtr );
MyRecPtr^.zz := "hello";
MyRecPtr^.i := 10;
Hello := MyRecPtr;
end;
var
R : TMyRec;
RPtr : PMyRec;
begin
RPtr := Hello;
R := RPtr^;
Dispose( RPtr );
end.
var параметром процедуры будет эффективнее
← →
wicked © (2006-03-06 10:43) [13]> jack128 © (06.03.06 00:14) [9]
> В чем приемущество var параметра перед результатом?
преимущество только в том, что мы можем как отдать данные в процедуру/функцию, так и получить из неё.... механизм давно и четко описан.... с возвратом структур компилятор уже должен обладать некторым интеллектом для того, чтобы локальную переменную отдаваемой в результате структуры выносить в нужное место и правильно инициализировать.....
плюс, скорей всего получим бинарную несовместимость таких функций с функциями, написанными на других языках - там оно может быть по другому....
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c