在c ++中,我可以将一个字段声明为某种类型的常规变量,在构造函数中实例化它,并在以后使用它:
private: Foo field;
...
A::A() {
// upd: likely i instatiate field wrong ways (see comments)
field = FieldImpl();
}
....
method(field);
Run Code Online (Sandbox Code Playgroud)
或者我可以使用指针:
private: Foo* field;
...
A::A() {
field = new FieldImpl();
}
A::~A() {
delete field;
}
...
method(*field);
Run Code Online (Sandbox Code Playgroud)
声明字段时,如何判断是否应使用指针或常规变量?