Я знаю, как инициализировать статический член, который не является целым числом, но мне интересно, каково обоснование этого синтаксиса?Я хотел бы иметь возможность просто поместить значение в класс, как вы можете с целочисленным членом, например:
class A {
static const int i = 3;
};
Я понимаю, что это может означать больше перестроения, если я изменю значение, так какизменение в заголовке - но в некоторых случаях это довольно маловероятно - и так же плохо, как и изменение #define в заголовке в любом случае.
Не похоже, что компилятору будет ужасно сложноПонимаю.Есть ли технические причины, почему это работает так, как работает?Или это просто случай, когда компилятор применяет эффективную практику отделения реализации от определения?