![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование Result как локальной переменной в функции
learner © (2006-08-13 21:36:00)Часто встречаю такую реализацию функции:
function Test1: TMyType;
var
Raram: TMyType;
begin
// Много преобразований с Param
Result:=Param;
end;
Чем она лучше следущей ?
function Test2: TMyType;
begin
// Много преобразований с Result
end;
Anatoly Podgoretsky (2006-08-13 22:22:00) [1]Не говоря уже о том, что тип может оказаться сложным и проблемы с копированием гарантированы.
tesseract (2006-08-13 22:17:00) [2]> [3] Anatoly Podgoretsky © (13.08.06 22:15)
Я тоже. Переменная всё-рано есть, зачем ещё одну заводить?
Anatoly Podgoretsky (2006-08-13 22:15:00) [3]Абсолютно одинаково, кроме адресации и лишнего присваивания. Я предпочту второй вариант.
learner (2006-08-13 21:57:00) [4]Спасибо
begin...end (2006-08-13 21:50:00) [5]Ничем не лучше. Но она может оказаться хуже, если в строке Result := Param будет происходить реальное копирование содержимого локальной переменной в результат.