Обычно я использую #define MY_PARRENT_THE_FIRST 1
, чтобы использовать меньше памяти.Лучшая эквивалентность #define в C++
Я искал лучшей эквивалентности в C++ об этом, и я нашел два:
Первый заключается в использовании перечислений:
enum class MyParrent : char
{
theFirst = 1,
theSecond = 6,
theThird = 64
}
Во-вторых, используя пространства имен и переменных:
namespace MyParrent
{
char const theFirst (1);
char const theSecond (6);
char const theThird (64);
}
Однако Я не смог узнать, не использует ли какой-либо из них никакой объем памяти в качестве оператора #define MY_PARRENT_THE_FIRST 1
.
Какая наилучшая практика для достижения такой же незаметности памяти в C++ (встроенная вставка значения вместо выделения памяти и вставки там значения)?
'static const int MY_PARRENT_THE_FIRST = 1;' не должно занимать какое-либо место в памяти. –
не может быть сделано в пространстве имен, таком как вторая версия, но со статикой впереди? – codiac
Несомненно, он может отображаться в 'namespace'. –