预先完成一些工作的 C++ 委托构造函数
C++ delegate constructor with some work done beforehand
我正在尝试按照
的方式做一些事情
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 中的委托构造函数,我想知道是否可以在调用委托构造函数之前执行某些操作。
另外,不相关,但是 this
在初始化列表中可用吗?
一些备选方案:
默认参数:
struct A {
explicit A(int i = load_something());
};
延迟构造函数:
struct A {
explicit A(int i);
A() : A(load_something()) {}
};
我正在尝试按照
的方式做一些事情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 中的委托构造函数,我想知道是否可以在调用委托构造函数之前执行某些操作。
另外,不相关,但是 this
在初始化列表中可用吗?
一些备选方案:
默认参数:
struct A {
explicit A(int i = load_something());
};
延迟构造函数:
struct A {
explicit A(int i);
A() : A(load_something()) {}
};