配合这篇文章食用更佳:
拷贝构造函数调用时机
使用一个已经创建完毕的对象来初始化一个新对象(复制)
值传递的方式给函数参数传值(实参传递给形参的过程,复制)
以值方式返回局部对象(作为函数返回值,复制)
![点击并拖拽以移动](/i/l/?n=23&i=blog/2970883/202301/2970883-20230128191657110-507607492.gif)
Person doWork() { Person p1; return p1; }
构造函数调用规则
如果用户定义有参构造函数,c++不再提供默认无参构造,但是会提供默认拷贝构造
如果用户定义拷贝构造函数,c++不会提供其他构造函数。
拷贝分类
深拷贝:在堆区重新申请空间,进行拷贝操作
浅拷贝:简单的赋值操作
标签:p1,c++,函数调用,构造,拷贝,构造函数 From: https://www.cnblogs.com/93006zhang/p/17071136.html