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

Вниз

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

 
ououoy   (2007-07-14 15:47) [0]

если я пишу

const
 t = SizeOf(Integer);

а потом в коде много раз использую значение t.

Каковы действия компилятора: он прежде чем превратить в приложение вычисляет значение t и потом подставляет это значение во все указанные места? Или всё же это значение константы реализуется на уровне кода во время выполнения?


 
Zagaevskiy ©   (2007-07-14 15:49) [1]

Напиши т=4 и не парь мозги


 
Kolan ©   (2007-07-14 16:38) [2]

Константу он вычислит 1 раз. Тебе типа лень SizeOf(Integer); — и ты решил сделать констаноту? Не делай так. Везде пиши SizeOf(Integer);, так как увидев эту строчку в коде её поймут все, а увидев твоё t не поймёт никто&#133


 
Zagaevskiy ©   (2007-07-14 16:41) [3]


> Константу он вычислит 1 раз. Тебе типа лень SizeOf(Integer);
>  — и ты решил сделать констаноту? Не делай так. Везде пиши
> SizeOf(Integer);, так как увидев эту строчку в коде её поймут
> все, а увидев твоё t не поймёт никто…

Ты будешь его код смотреть?


 
Kolan ©   (2007-07-14 16:55) [4]

> Ты будешь его код смотреть?

Если ты пишешь код из расчёта что смотреть будешь ты — то можешь его сразу выбросить.

Код надо писать не для себя, а для того «другого» программиста, который будет его читать. Даже если на самом деле твой код никто никогда не увидит.

© — вольный перевод — Мартин Файлер


 
Anatoly Podgoretsky ©   (2007-07-14 16:56) [5]

> ououoy  (14.07.2007 15:47:00)  [0]

Он просто заменит везде t на выражение.
Но как тебе советуют ниже, так делать не стоит, запутываешь код и уж ни в каком случае не делать
t=4 вот это диверсия.


 
Anatoly Podgoretsky ©   (2007-07-14 16:57) [6]

> Zagaevskiy  (14.07.2007 16:41:03)  [3]

Хватит и того, что сам автор не поймет этого в будущем


 
Kolan ©   (2007-07-14 17:01) [7]

> Хватит и того, что сам автор не поймет этого в будущем

В том то и дело, что тот «другой» программист — это в 90% случаев ты и есть :)


 
Zagaevskiy ©   (2007-07-14 17:05) [8]

можно так тогда
const
 IntSize = SizeOf(Integer);
тогда всё понятно


 
Anatoly Podgoretsky ©   (2007-07-14 17:23) [9]

> Kolan  (14.07.2007 17:01:07)  [7]

Вот самого себя и надо особо любить


 
Германн ©   (2007-07-15 02:31) [10]


> Anatoly Podgoretsky ©   (14.07.07 16:57) [6]
>
> > Zagaevskiy  (14.07.2007 16:41:03)  [3]
>
> Хватит и того, что сам автор не поймет этого в будущем
>

О как мне это знакомо!
:)
Но не могу же я писАть комментарии к каждой строчке текста программы! :(



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
1-1180427774
alexander_nt
2007-05-29 12:36
2007.08.12
Скопировать содержимое TWebBrowser


2-1184865192
Leggin
2007-07-19 21:13
2007.08.12
Проблемма: работа программы под разными учетными записями.


8-1162937258
константинов
2006-11-08 01:07
2007.08.12
Воспроизведение звукового потока ( напрямую, мимо DirectX )


2-1184142112
sydenis
2007-07-11 12:21
2007.08.12
передача объекта по ссылке


2-1184323485
lamerskii_vopros
2007-07-13 14:44
2007.08.12
динамическое создание компонента