如果我这样做:

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;
};

07-24 20:00