c++ 构造函数 几种调用形式

//1
Test t = Test(10);

//2
Test t2;
t2 = Test(10);

//3
Test* t3 = new Test(10);

对于1,按照C++的规定,C c = C();是用默认构造函数创建一个临时对象,并用这个临时对象初始化c(利用拷贝构造函数)。

对于2,先是在第一行调用了默认无参构造函数,再在第二行调用了copy assignment 操作符

对于3,new操作符申请了内存空间,调用构造函数,再把对象指针返回给t3

你可能感兴趣的:(c++ 构造函数 几种调用形式)