gpt4 book ai didi

c++ - 为什么这里调用的是 Copy Constructor 而不是普通的 Constructor 和重载的赋值运算符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:34 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Is there a difference in C++ between copy initialization and direct initialization?
Copy constructors and Assignment Operators

我有一个 C 类,我在其中重载了 Normal、复制构造函数和赋值运算符以打印被调用内容的踪迹。

我写了以下代码来测试什么时候被调用?

C c1;                --> Normal Constuctor .. // understood Fine

C c2;
c2 = c1; --> Normal constructor + assignment operator .. //understood Fine

C * c3 = new C(C1) --> Copy constructor // Understood Fine

C c4 = c1 --> copy constructor // Not Able to understand

这似乎让我感到困惑,因为在这段代码中虽然我在声明时进行了初始化,但它是通过赋值运算符而不是复制构造函数..我理解错了吗?

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