Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.03.18;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
2-1323056747
hlopcikz
2011-12-05 07:45
2012.03.18
Как слинковать соеденение?


2-1322726859
Faceless
2011-12-01 12:07
2012.03.18
TBucketList


8-1222932092
AlexOld
2008-10-02 11:21
2012.03.18
Удалить часть данных из открытого файла


15-1322123135
Медвежонок Пятачок
2011-11-24 12:25
2012.03.18
"А при Фрэнке такого не было"


15-1322253003
Юрий
2011-11-26 00:30
2012.03.18
С днем рождения ! 26 ноября 2011 суббота





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский