Может ли использование #define в C++ увеличить размер исполняемого файла? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Может ли использование #define в C++ увеличить размер исполняемого файла? [закрыто]

Сообщение Anonymous »

В книге «Эффективный C++» я видел фразу, в которой говорится, что следует использовать const, потому что #define может увеличить размер окончательно скомпилированного кода. Однако я не знаю, почему существует разница в размере исполняемого файла между #define и const.
И автор сказал, что # define создает несколько копий везде, где бы он ни использовался, но const имеет только одну копию, и она является общей. Но я вообще не мог ее понять, потому что не было подробного объяснения.
Об этом говорится на странице 54 пункта 2. Книга, которую я читаю, является переводом, поэтому я думаю, что страница номер отличается от оригинала. В любом случае, в книге сказано, что лучше использовать const вместо #define в следующих ситуациях:

Код: Выделить всё

#define ASPECT_RATIO 1.653
const double AspectRatio = 1.653
В случае чисел с плавающей запятой, подобных приведенным выше, указывается, что размер окончательно скомпилированного кода может увеличиться при использовании #define по сравнению с использованием const. просто заменяется текстом, так как же он может увеличить размер исполняемого файла?
Можете ли вы подробно объяснить, что это за процесс?
У меня есть видел много сообщений о разнице между #define и const, но я не видел ни одного, которое подробно объясняло бы разницу в размере исполняемого файла.

Подробнее здесь: https://stackoverflow.com/questions/793 ... table-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»