gpt4 book ai didi

c++ - 使用 "new"调用复制构造函数

转载 作者:行者123 更新时间:2023-11-30 01:15:30 24 4
gpt4 key购买 nike

我是 C++ 的新手。

我读到复制构造函数在将对象作为参数传递给函数时或从函数返回对象时以及在使用赋值初始化变量时被调用。在这种情况下是否也可以调用它,假设 D 具有复制构造函数?

D* pd1 = new D;
D* pd2 = new D(*pd1);

最佳答案

是的。

复制构造函数可以隐式或显式调用。

在这种情况下,它被显式调用:

D* pd2 = new D(*pd1); //pd1 points to D object

在这种情况下,它被隐式调用:

D pd2 = *pd1; //pd1 points to D object

如果使用 explicit 说明符,则不能隐式调用复制构造函数。

http://en.cppreference.com/w/cpp/language/explicit

关于c++ - 使用 "new"调用复制构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28317916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com