在 C++ 中,我可以将字段声明为某种类型的常规变量,在构造函数中实例化它,然后再使用它:
private: Foo field;
...
A::A() {
// upd: likely i instatiate field wrong ways (see comments)
field = FieldImpl();
}
....
method(field);
或者,我可以使用指针:
private: Foo* field;
...
A::A() {
field = new FieldImpl();
}
A::~A() {
delete field;
}
...
method(*field);
声明字段时,如何决定是使用指针还是常规变量?