gpt4 book ai didi

c++ - 构造对象两次

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

class foo
{
public:
foo();
foo(int param){foo::foo();}
};

foo::foo(int) 会调用 foo::foo() 作为方法并初始化对象的成员还是创建无名对象?一个构造函数可以作为另一个构造函数/成员函数的方法调用吗?

最佳答案

在这种情况下,您的构造函数将创建类 foo 的无名对象,然后它将被销毁。

如果您想从另一个构造函数内部调用一个构造函数,您可以使用委托(delegate)构造函数

(仅在 C++11 中)

例子:

class foo
{
public:
foo();
foo(int param) : foo() {}
};

关于c++ - 构造对象两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21220079/

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