С С++ 17 мы получаем встроенные переменные.
Одним из способов их использования является определение константных полей в классах.
Так в чем же разница между этими двумя постоянными определениями:
class MyClass {
static constexpr int myFirstVar = 10;
static const inline int mySecondVar = 100;
};
Конечно, constexpr
делает myFirstVar
неявно встроенным.
Какой лучший выбор здесь, использовать constexpr
или inline
?
Примечание: когда вам не нужна константность, тогда inline
делает это проще. С constexpr
вас нет такого выбора.