3.条款四:为什么使用初始化列表而不是在花括号内使用复制语句?

1 class DoSomething {
2 private:
3     char * text;
4     //...
5 public:
6     DoSomething():text(nullptr) {}
7 };

对私有成员的初始化发生在花括号之前(调用=defalut初始化),C++有时会在你没有显式的为变量初始化的时候为你提供默认值,如果使用在花括号内使用赋值语句“初始化”,还会调用拷贝赋值运算符,而且const修饰的成员不允许在花括号内初始化。

posted @ 2019-11-20 21:20  Royzzzzz  阅读(129)  评论(0编辑  收藏  举报