- 这是一个很常见的地方,但是细细品味也是很有味道
#include<iostream> using namespace std; class complex{ private: int re; int im; public: complex(int r,int i) :re(r), im(i) { } }; int main(){ int i = 0; int j(0); complex c(3,4); return 0; }
从c语言过来的同学,在初始化的时候我们用的都是等号“=”,然而c++其实已经不再使用这种方式来初始化啦,因为作为面向对象的语言,对象往往比较复杂,很少只包含单值的,之所以在现在还能看到c++中还有这样使用的,是因为为了兼容c语言。之前对构造函数的初始化列表的写法,表示很困惑,现在明白啦。这才是c++真正的初始化方式。
-
对于C++11的标准初始化方法,请参考;https://blog.youkuaiyun.com/shaochuang1/article/details/99884692