#include <cstdlib>
#include <iostream>

using namespace std;

const unsigned long MAX_SIZE = 20;
typedef int ItemType;

class Heap {
private:
        ItemType array[MAX_SIZE];
        int elements; //how many elements are in the heap
public:
      Heap( )
       ~Heap( )
       bool IsEmpty( ) const
      bool IsFull( ) const
      Itemtype Retrieve( )
      void Insert( const Itemtype& )
};

假设我有这个作为我的头文件。在我对此的实现中,执行 Heap() 构造函数和 ~Heap() 析构函数的最佳方法是什么。

我有
Heap::Heap()
{
   elements = 0;
}

Heap::~Heap()
{
   array = NULL;
}

我想知道在这种情况下这是否是破坏和构造数组的正确方法。

最佳答案

array 不是动态分配的,因此当对象不再存在于范围内时,它的存储空间就会消失。实际上,您不能重新分配给 array ;这样做是错误的。

关于c++ - 如何销毁一个数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1879431/

10-12 01:33