c++ 实现static const对象在类声明中指定初值
在早期的c++ 编译器中无法在class的定义区为static const member(这里的member必须为整数类型int、char、enum等)赋初值,而晚些的c++编译器可能可以这么做。但是const member的使用习惯是在定义的时候赋值,并且在其他的地方不能改变其值。所以,这就形成了矛盾,使得我们大部分时候而不得不将放弃使用static const member。下面的代码即为此种矛盾:
class object { public: ... private: static const int objectNum ;//当成non-const member不赋初值 };static int object::objectNum =1;//在类实现文件中赋值采用上面的两种方法,解决了static const对象在类声明中指定初值的疑惑!