Главная страница
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.029 c
2-1184221584
Aletar
2007-07-12 10:26
2007.08.12
Popup меню в ListView


3-1177412617
DelphiN!
2007-04-24 15:03
2007.08.12
Очень долгий Insert в таблицу БД FireBird 1.5


11-1167652790
Vladimir Kladov
2007-01-01 14:59
2007.08.12
Версия 2.50


2-1184435002
Sonic90
2007-07-14 21:43
2007.08.12
Кнопка формы на панели задач


15-1184232418
boriskb
2007-07-12 13:26
2007.08.12
Ничего лучшего, чем "Офигеть!!!" придумать не могу