分配/释放适用于在自由存储中构造的对象(使用malloc/new等)。 类中的数组的生命周期与类的对象相同。因此,您应该关注处理对象的分配/释放,而不是它们的成员(当成员不是指针时)。 当成员变量是指针并且它指向动态分配的内存/对象时,则需要将其释放(最好在析构函数中)。 例如: class A { }; class B { A* a; B() { a = new A; } ~B() { delete a; } };
c
是通过new
进行分配的,那么array
的内存就在堆中,但会在delete c;
的过程中自动清理掉。 - Anthony