Apr16
Const в функциях
Если в функцию передаете строку и в самой функции эта строка не изменяется - объявляйте ее как const. В большинстве случаев это исключает скрытое добавление try..finally, а значит немного ускоряет работу функции.
Если не применять ключевое слово const, компилятор будет считать, что строка, возможно, будет меняться в функции, и добавляет скрытыю локальную переменную для хранения строки, т.е. получается примерно следующее:
function FuncName(AStr: string): Integer;
var
lOldStr: string;
begin
lOldStr := AStr;
try
// Тут код функции
finally
AStr := lOldStr;
end;
end;
Я для себя провел небольшой тест и получилось, что при использовании const функция работает на 3-5% быстрее.