gpt4 book ai didi

预先完成一些工作的 C++ 委托(delegate)构造函数

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

我正在尝试按照以下方式做一些事情

class A {
A();
A(int num);
}

A::A()
{
int i = /* Something that loads something */
A(i);
}

A::A(int num)
{
/* something involving num */
}

我知道 C++ 11 中的委托(delegate)构造函数,我想知道是否可以在调用委托(delegate)构造函数之前执行某些操作。

此外,不相关,但是 this 是否在初始化列表中可用?

最佳答案

一些替代方案:

默认参数:

struct A { 
explicit A(int i = load_something());
};

延迟构造函数:

struct A { 
explicit A(int i);
A() : A(load_something()) {}
};

关于预先完成一些工作的 C++ 委托(delegate)构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46937616/

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