您的位置:首页 > 编程语言 > C语言/C++

Effective C++ Third Edition 读书笔记 4

2009-07-08 22:40 323 查看
Item 4: Make sure that objects are initialized before they're used

1. C++数组不对对象进行初始化,是因为这是C++的C部分,要考虑性能。Inside The C++ Oject Model也说明这这一规则,但是没有理由。

2. 要使用初始化列表,而不是赋值操作。

3. 要注意非本地静态对象,它们的初始化顺序是不确定的

4. 替代方案是用单体,但这里面的单体是单线程适用的,多线程情况下,下面的代码都回出问题。

void func()
{
const static string x = "Hello world!";
cout << x << endl;
}
除非确保该函数在单线程时调用。真是太危险了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: