2016 - 2024

感恩一路有你

拷贝构造函数在哪几种情况下调用 下列情况中,不会调用复制构造函数的是()?

浏览量: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语言四种基本数据类型

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。