Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

const   Найти похожие ветки 

 
DFT   (2008-04-15 12:32) [0]

Уважаемые Мастера, подскажите пожалуйста!

Использование инструкции const при объевлении параметров процедур или функций используется только для ускорения работы (т. е., передаваемое значение не копируется в новую переменную, а используется ее адрес)? Или у этого есть еще какое-то предназначение?

(в коде VCL const при объявлении параметров процедур или функций, используется чаще с типом string, как мне показалось).

И в чем смысл такого, например, объевления процедуры:

Procedure Add(i: integer; const J: integer = 1);   ...?


 
Ega23 ©   (2008-04-15 12:34) [1]


A constant (const) parameter is like a local constant or read-only variable. Constant parameters are similar to value parameters, except that you can"t assign a value to a constant parameter within the body of a procedure or function, nor can you pass one as a var parameter to another routine. (But when you pass an object reference as a constant parameter, you can still modify the object"s properties.)

Using const allows the compiler to optimize code for structured- and string-type parameters. It also provides a safeguard against unintentionally passing a parameter by reference to another routine.

Here, for example, is the header for the CompareStr function in the SysUtils unit:

function CompareStr(const S1, S2: string): Integer;

Because S1 and S2 are not modified in the body of CompareStr, they can be declared as constant parameters.


 
DFT   (2008-04-15 12:43) [2]

Спасибо.


 
Ega23 ©   (2008-04-15 13:07) [3]


> DFT   (15.04.08 12:43) [2]
>
> Спасибо.


Незачто. Но в следующий раз, будь добр, посмотри справку сам, ОК?



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
2-1207833052
Снежинка
2008-04-10 17:10
2008.05.11
Запрос


15-1206524725
capkoh
2008-03-26 12:45
2008.05.11
Изучение SQL. Сколько времени?


6-1186225773
Rav
2007-08-04 15:09
2008.05.11
CharSet для операвки E-Mail


2-1207808016
DimA
2008-04-10 10:13
2008.05.11
Почему ADOConnection не запускается с сетевого диска?


2-1208065801
honor
2008-04-13 09:50
2008.05.11
База данных без прописывания Альяса