c++中拷贝构造函数在哪些情况下被调用

 我来答
地瓜说机
2017-09-12 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2.3万
采纳率:91%
帮助的人:1.2亿
展开全部
有以下几种情况:

class <img id="selectsearch-icon" src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/qb/select-search.png" alt="搜索">MyClass
{
MyClass(){}
MyClass(const MyClass&){}
};
//1. 你自定义的类通过按值传递传给一个函数
void MyFunc(MyClass myclass); //调用这个函数会调用拷贝构造函数

//2. 你想通过已有的类的一个对象来创建另一个对象
MyClass myclass1;
MyClass myclass2(myclass1);//这里会调用拷贝构造函数

//3. 当你用到容器(例如vector<MyClass>)需要向容器中增加元素的时候
vector<MyClass> v;
MyClass myclass;
v.push_back(myclass); //这里调用拷贝构造函数
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式