gpt4 book ai didi

c++ - 返回符合 C++ 标准

转载 作者:搜寻专家 更新时间:2023-10-31 01:16:20 27 4
gpt4 key购买 nike

class A {};

class B
{
public:
B(const A& a, int i = 10) : m_a(a), m_i(i) {}
private:
int m_i;
A m_a;
};

B getB(void)
{
//return B(A()); // Method one
//return A(); // Method two
}

方法一和方法二都通过了VS2010的编译。

问题1>哪个比较好?

问题2> 如果除了第一个参数之外的所有参数都有默认值,隐式构造函数是否支持多个传入参数?

谢谢

最佳答案

两者都是有效的,并且都做同样的事情。我会使用第一个,因为我发现第二个令人困惑,但不同的人有不同的笔画。

编辑:实际上,我会做更多。我会将 B 的构造函数标记为 explicit,以防止导致第二个编译器编译的那种情况。

注意:我会避免在 C++ 的方法签名中使用 (void)

关于c++ - 返回符合 C++ 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9184886/

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