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

const при передаче в функцию/процедуру.   Найти похожие ветки 

 
delphiuser1   (2007-07-27 16:43) [0]

В каких случаях следует передавать данные в функцию или процедуру, применяя при этом 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:46) [1]


> И вообще насколько лучше передавать значение по const если
> внутри функции, процедуры значение вход. параметра не меняется,
>  ну как в примере выше.


Всяко лучше. Во-первых компилятор ругаться будет, если в теле функции будет попытка изменения значения параметра, во-вторых, для некоторых типов время выполнения будет быстрее, в третьих, программисту не надо будет анализировать тело функции, чтобы понять, что параметр внутри нее не меняется.


 
stanislav ©   (2007-07-27 16:46) [2]

В таком да.
Если Const значит внутри процедуры ты ее не изменишь, но помоему по умолчанию const и есть.


 
Сергей М. ©   (2007-07-27 16:47) [3]

Справку на тему "Constant parameters" ты уже проштудировал ?



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

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



Память: 0.45 MB
Время: 0.014 c
3-1178081249
pavel_guzhanov
2007-05-02 08:47
2007.08.19
Не пойму, почему долго работает следующий код


2-1185351496
CODeRUS
2007-07-25 12:18
2007.08.19
Перехват нажатий на клавиатуру


2-1184781110
Sdubaruhnul
2007-07-18 21:51
2007.08.19
Поиск файлов возвращает артефакты


2-1184704624
DenIK
2007-07-18 00:37
2007.08.19
Ошибка...помогите


15-1184911344
Котик Б
2007-07-20 10:02
2007.08.19
Тест на мышление 3 :)




   Наверх