![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
const при передаче в функцию/процедуру. [D7, XP]
delphiuser1 © (2007-07-27 16:43:00)В каких случаях следует передавать данные в функцию или процедуру, применяя при этом const в передаче.
Я прочитал про const. Но не пойму, в разных случаях в почти одинаковых ситуациях применяют то const, то простую передачу по значению.
Т.е. например
procedure _msgbox(const msg: string);
begin
ShowMessage(msg);
end;
и
procedure _msgbox(msg: string);
begin
ShowMessage(msg);
end;
Вот в таком случае это одинаково эффективно? И вообще насколько лучше передавать значение по const если внутри функции, процедуры значение вход. параметра не меняется, ну как в примере выше.
Сергей М. (2007-07-27 16:47:00) [1]Справку на тему "Constant parameters" ты уже проштудировал ?
Игорь Шевченко (2007-07-27 16:46:00) [2]
> И вообще насколько лучше передавать значение по const если
> внутри функции, процедуры значение вход. параметра не меняется,
> ну как в примере выше.
Всяко лучше. Во-первых компилятор ругаться будет, если в теле функции будет попытка изменения значения параметра, во-вторых, для некоторых типов время выполнения будет быстрее, в третьих, программисту не надо будет анализировать тело функции, чтобы понять, что параметр внутри нее не меняется.
stanislav (2007-07-27 16:46:00) [3]В таком да.
Если Const значит внутри процедуры ты ее не изменишь, но помоему по умолчанию const и есть.