Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: 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 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
2-1185355218
vegarulez
2007-07-25 13:20
2007.08.19
Как обновить TButton внутри TPanel`a?


15-1185053201
THandle
2007-07-22 01:26
2007.08.19
Visual C++ 6


15-1184321706
Евгений Тарабановский
2007-07-13 14:15
2007.08.19
Компоненты для создания PDF-файлов


11-1168181437
retr
2007-01-07 17:50
2007.08.19
Есть ли TCP клиент для KOL умеющий работать через SOCKS 4/5?


15-1184697721
Mike Kouzmine
2007-07-17 22:42
2007.08.19
fdisk - integer error div 0