gpt4 book ai didi

c++ - 当我定义一个具有该类的(非引用)返回类型的函数时,该类的哪个——默认构造函数或复制构造函数——被调用?

转载 作者:行者123 更新时间:2023-11-28 02:06:31 24 4
gpt4 key购买 nike

<分区>

我很困惑为什么当我在另一个类中定义一个函数并返回第一个类的返回类型时,我必须编写这个类的复制构造函数。

例如:

class Foo{
// attributes
public:
Foo(){...}

// I had to write the CC
Foo(const Foo& obj){
//...
}
}

class Bar{
// ....

// This is the function
Foo SomeFunction()
{
Foo myVar;

// ....

return myVar;
}

我通过 couting 检查复制构造函数实际上被调用了。

不过我需要确认,因为在这种情况下调用默认构造函数对我来说似乎更合乎逻辑,就像在创建 myVar 的这一行中一样。

我是一个初学者,所以我正在努力解决这些问题。

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