这两个成员在初始化和实例化方面究竟有什么区别?:
class Test {
// ctor, dtor, ... here
private:
static int m_test = 0; // error - non-const ...
static const int m_const_test = 0; // working - const ...
};
为什么非const成员的初始化无效? 何时将两个变量(假设非const成员没有init!)实例化?
编辑:即使这个问题的很大一部分可以叠加到上述帖子中,我也不认为我的问题的每一部分都在这些条目中得到解答。
BR,Tuna
答案 0 :(得分:1)
如果多个编译单元包含您的类定义,那么应该放置哪一个静态int m_test = 0
?对于const static ...
,它无关紧要,因为它是常量。
答案 1 :(得分:0)
声明为const的m_const_test无法更改。
因此,您可以使用m_const_test节省一点时间,但不如m_test灵活。