abivan (16.09.2004 10:33, просмотров: 1) ответил IgorKossak на Ответ: В чистом С тоже есть декларация const, но есть небольшая разница с С++
Это как это define нетипизирован? Да, именно такое определение const дано на стр 65 С++ за 21 день Джесс Либберти
но это не совсем так
define это препроцессорная директива
просто подстановка текста
пример
#define DBL 1.23
int i;
i=DBL; // компилятор дает предупреждение
// implicit conversion of float to integer
так что контроль типов на этапе компиляции присутствует
>При этом умный компилятор (в частности от IAR) не отведёт даже
>памяти под эту константу, чего не скажешь о программировании на
>С, где под константу отводится место и ограничивается лишь доступ
>по записи.
И как Вы эту константу передадите в функцию по адресу?
А тут умный компилятор отведет под нее место где? в рам или ром?
Так что не нужно списывать со счетов старый добрый define
И освоив когда либо, ноконец, С++ я вряд ли буду использовать const вместо define.