Строго кажучи, #define
підхід використовуватиме трохи менше пам’яті. Однак різниця зазвичай невелика. Якщо вам потрібно зменшити використання пам'яті, то інші оптимізації, ймовірно, будуть набагато ефективнішими.
Аргументом на користь використання const int
є безпека типу . Де б ви не посилалися на цей контактний номер за змінною, ви точно знаєте, який тип даних ви отримуєте. Це може сприяти / перетворюватися неявно або явно кодом, який його використовує, але він повинен вести себе дуже чітко.
Навпаки, значення в a #define
відкрите для інтерпретації. Переважна більшість часу, ймовірно, взагалі не викличе у вас жодних проблем. Вам просто потрібно бути трохи обережним, якщо у вас є код, який робить припущення про тип або розмір значення.
Особисто я майже завжди віддаю перевагу безпеці типу, якщо у мене немає дуже серйозної потреби в збереженні пам'яті.
const int
?