//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
//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