摘要:
1.避免重复定义和初始化>说在类外定义和初始化是保证static成员变量只被定义一次的好方法。但,为什么static const int就可以在类里面初始化呢?想起C中一个函数里定义一个static变量是为了保证只初始化一次。那么,是否可以这样理解:static数据成员在类外定义和初始化是为了保证只被定义和初始化一次,这样编译器就不必考虑类的函数里面第一个对static变量的’=’操作是赋值还是初始化了。static const int可以在类里面初始化,是因为它既然是const的,那程序就不会再去试图初始化了。而且,>说static const int也必须在类外定义,类里面的只 阅读全文
posted @ 2013-09-17 22:55
可笑痴狂
阅读(12128)
评论(0)
推荐(4)
摘要:
1 /** 2 *有些成员必须在构造函数初始化列表中进行初始化。对于这样的成员,在构造函数体重对它们赋值不起作用。 3 *没有默认构造函数的类类型的成员,以及const或引用类型的成员,不管是哪种类型,都必须在构造函数初始化 4 *列表中进行初始化 5 */ 6 class ConstRef 7 { 8 public: 9 ConstRef(int ii);10 private:11 int i;12 const int ci;13 int &ri;14 };15 16 //错误做法17 Cons... 阅读全文
posted @ 2013-09-17 11:12
可笑痴狂
阅读(335)
评论(0)
推荐(0)