拷贝构造函数在哪几种情况下调用 下列情况中,不会调用复制构造函数的是()?
浏览量:2547
时间:2021-03-11 12:35:09
作者:admin
下列情况中,不会调用复制构造函数的是()?
编译器优化。例如,编译器知道返回了临时对象,而编辑器直接将其放入要返回的堆栈中。程序直接从该堆栈返回结果,从而保存一个复制构造
这是C常用的优化方法
复制构造函数只能在以下三种情况下调用:
1)作为函数参数的对象通过值传递传递到函数体中;
2)作为函数返回值的对象通过值传递从函数返回;
3)对象用于初始化另一个对象(通常称为赋值初始化)。
下列情况中,哪一种情况不会调用拷贝构造函数?
存在以下情况:
class MyClass
{
MyClass(){}
MyClass(const MyClass&){}
]//1。您的自定义类是通过值传递给函数的
void myfunc(MyClass MyClass)//调用此函数将调用复制构造函数
//2。要通过现有类的对象创建另一个对象
MyClass myclass1
MyClass Myclass2(myclass1)//此处调用复制构造函数
//3。当您使用容器时(例如vector
vector
MyClass MyClass
v.pushBack(MyClass)//在此处调用复制构造函数
拷贝构造函数在哪几种情况下调用 调用拷贝构造函数的三种情况 c语言四种基本数据类型
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。