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

Вниз

const в переменных   Найти похожие ветки 

 
Gu   (2011-12-03 16:34) [0]

объясните, зачем в некоторых функциях и процедурах перед переменными добавляют const?
например
function IsAccel ( Key: Word; const S: string ): Boolean;

ведь S тут не var и изменятся и так не может.


 
sniknik ©   (2011-12-03 16:46) [1]

передача по ссылке, как и var, но с контролем (самоконтролем), чтобы не менялось.
быстрее ссылку передать, чем копию, строки например (ну вот к примеру она гигобайтная...)


 
sniknik ©   (2011-12-03 16:48) [2]

кстати для строк, вроде оптимизатор сам добавит, если изменений в теле нет... но в общем, лучше писать правильно, а не на оптимизатор надеяться.


 
Anatoly Podgoretsky ©   (2011-12-03 17:10) [3]

> Gu  (03.12.2011 16:34:00)  [0]

Ошибаешься, легко изменяется.


 
Rouse_ ©   (2011-12-03 17:20) [4]


> ведь S тут не var и изменятся и так не может.

реф на строку в случае const просто не будет добавляться.


 
Юрий_   (2011-12-03 17:26) [5]


> реф на строку в случае const просто не будет добавляться.


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


 
RWolf ©   (2011-12-04 15:48) [6]


> объясните, зачем в некоторых функциях и процедурах перед
> переменными добавляют const?

попробуй то и другое и посмотри, какой код сгенерируется.
вкратце: с const оптимальнее.



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1322915643
Gu
2011-12-03 16:34
2012.03.18
const в переменных


2-1323039127
Мишаня7-8
2011-12-05 02:52
2012.03.18
Как задать кодировку текстовому файлу


15-1321901455
KilkennyCat
2011-11-21 22:50
2012.03.18
скока стоит...


2-1322678545
Alexey
2011-11-30 22:42
2012.03.18
Двойной клик по заголовку формы


2-1322823148
CheCoder
2011-12-02 14:52
2012.03.18
Как отправить содержимое Image1 на печать?