Главная страница
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.037 c
2-1208026785
deadteachers
2008-04-12 22:59
2008.05.11
WebBrowser


15-1206724373
tesseract
2008-03-28 20:12
2008.05.11
Быстрый tiling


15-1206640906
Сашик
2008-03-27 21:01
2008.05.11
Архивы старых форумов


9-1169896894
maxProg
2007-01-27 14:21
2008.05.11
Direct3D9 - Buffer


9-1169656146
maxProg
2007-01-24 19:29
2008.05.11
DirectX - 2D