我想在课堂上初始化一堆成员以保持源文件更干净。但是,这些对象接受我仅通过构造函数接收的参数,并且可以在构造函数初始化列表中或通过赋值在构造函数中进行初始化。(第二个选项肯定行不通。)这基本上是场景:
在页眉中
class Foo
{
public:
Foo(Pointer * ptr);
private:
Pointer * ptr;
Member m1{ptr, "SomeText"};
Member m2{ptr, "SomeOtherText"};
}
在 CPP
Foo::Foo(Pointer*ptr) :
ptr(ptr)
{
// ...
}
ptr
现在的问题是:标准是否说明了and m1
/之间的初始化顺序m2
?显然,此代码仅在和ptr
之前初始化时才有效。m1
m2