c++中拷贝构造函数在哪些情况下被调用
展开全部
有以下几种情况:
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); //这里调用拷贝构造函数
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); //这里调用拷贝构造函数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询