64,637
社区成员
发帖
与我相关
我的任务
分享
class a
{
a(){cout<<"construct"<<endl;};
a(const a&){cout<<"Copy consruct"<<endl;}
a &operator=(const a &)
{cout<<&operator=(const a&)}
}
int fun(a obj)
{
}
int fun2()
{
a obj;
return obj;
}
int main()
{
a ebj;
fun(ebj);//会调用复制构造函数,作为对象的副本返回函数
ebj=fun2();//先调用默认构造函数,然后在fun2函数要返回时会调用复制构造函数,
//然后调用析构函数,最后调用赋值构造函数,再析构函数。
//我这里以为对象里面的工作全部完成后再依次析构函数,怎么调用了复制构造函数就要马上会析构吗
//还有以下一种形式
vector<a> ivec(3);//这句里面都调用什么了?。。会调用默认构造函数吗。。还是直接就复制构造函数,依次复制容器里面的3个元素?
}