条款四 确定对象被使用前已先被初始化

1、变量的初始化
int a = 0;
int b; std::cin >> b;
对于类的成员变量,可使用构造函数
class Test
{
public:
Test(int aVal,int bVal):a(aVal),b(bVal) {} //初始化
private:
int a,b;
}
注意区分初始化和赋值
Test(int aVal,int bVal){ a = aVal; b = bVal;} //赋值

2.在初始化的初值列表中,初始化的顺序是按照声明的顺序初始化,而不是初值列表的顺序

3.若要保证一个类的对象是被初始化过的,可以将对象置于其专属的函数里,定义一个static对象,并返回对象的引用
这样就有了初始化的保证,要使用类对象的时候,只要调用函数即可
class Test{ public: int size;};
inline Test& t()
{
static Test text;
return text;
}

t().size = 10;

posted @ 2012-07-18 21:03  bizhu  阅读(185)  评论(0编辑  收藏  举报