如果我这样做:
class A {
B* pointer01 = new B();
C* pointer02 = new C();
}
在析构函数中我必须做的事情:
delete pointer01;
delete pointer02;
或不?我找不到任何东西。
最佳答案
如果您实际上要使用指针和动态分配的对象,那么可以,绝对应该在析构函数中对它们进行delete
(除非您做的事情确实很奇怪,并且您的类不是这些对象的所有者。它)。您还很可能需要适当的复制和赋值语义,请参见The Rule of Three。
但是,最肯定的是,只使用自动对象会更容易和更好:
class A {
B b;
C c;
};