3

我在我的 c++ 类成员中有:

char array[24];

在析构函数中如何处理这个成员或者可能什么都没有?谢谢你的建议。

4

2 回答 2

5

没有什么。你不手动为数组分配空间,所以你不应该手动释放它。

于 2013-03-21T05:40:28.277 回答
1

分配/解除分配适用于在自由存储(使用 malloc/new 等)上构造的对象。类中的数组将具有与类对象相同的生命周期。所以你应该关心处理对象的分配/释放,而不是它们的成员(当成员不是指针时)。

当成员变量是指针并且它指向动态分配的内存/对象时,您需要释放它(最好在析构函数中)。

例如:

class A { };

class B {

    A* a;

    B() { 
        a = new A;
    }

    ~B() { 
        delete a; 
    }
};
于 2013-03-21T05:50:27.733 回答