Вниз
Скачать: CL | DM;

Использование Result как локальной переменной в функции   Найти похожие ветки 

← →
learner ©   (2006-08-13 21:36) [0]

Часто встречаю такую реализацию функции:
function Test1: TMyType;
var
Raram: TMyType;
begin
// Много преобразований с Param
Result:=Param;
end;
Чем она лучше следущей ?
function Test2: TMyType;
begin
// Много преобразований с Result
end;


← →
begin...end ©   (2006-08-13 21:50) [1]

Ничем не лучше. Но она может оказаться хуже, если в строке Result := Param будет происходить реальное копирование содержимого локальной переменной в результат.


← →
learner ©   (2006-08-13 21:57) [2]

Спасибо


← →
Anatoly Podgoretsky ©   (2006-08-13 22:15) [3]

Абсолютно одинаково, кроме адресации и лишнего присваивания. Я предпочту второй вариант.


← →
tesseract ©   (2006-08-13 22:17) [4]

> [3] Anatoly Podgoretsky ©   (13.08.06 22:15)


Я тоже. Переменная всё-рано есть, зачем ещё одну заводить?


← →
Anatoly Podgoretsky ©   (2006-08-13 22:22) [5]

Не говоря уже о том, что тип может оказаться сложным и проблемы с копированием гарантированы.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.973 c
9-1134733120
julai
2005-12-16 14:38
2006.09.03
Статьи по OpenGL


2-1155378908
Yegorchic
2006-08-12 14:35
2006.09.03
BlockRead, BlockWrite...


1-1153803713
Zilog_
2006-07-25 09:01
2006.09.03
Как правильно перевести с С на Делфи?


15-1155336576
SerJaNT
2006-08-12 02:49
2006.09.03
АДМИНАМ: надо бороться со спамом


6-1143721565
vic_774N
2006-03-30 16:26
2006.09.03
решение проблемы подсей




   Наверх