用动态分配的数组创建哈希表?

时间:2014-11-19 23:54:24

标签: c++ arrays dynamic hashmap

对于我的任务,我必须创建一个哈希表,并且我设法编写了大部分哈希表,直到我意识到我在头文件中声明了一个静态数组。哈希表假设实现一个动态分配的数组,我想知道这个数组将在何处创建?我会把它放在我的头文件中还是把它放在我的构造函数中。如果我在构造函数中创建它,我的其他成员函数将如何访问和修改数组,因为它在我的构造函数的范围内。谢谢

Item* ptr = new Item[bucketcount];

1 个答案:

答案 0 :(得分:2)

我无法完全理解您的问题,但如果您的问题是“范围”问题,您可以通过将您的数组声明为HashTable类的成员来解决它:

HashTable.cpp

class HashTable
{
private:
    Item* items;

public:
    HashTable()
    {
        items = new Item[size];
    }

    ~HashTable()
    {
        delete[] items;
    }
};

作为成员,它将从您的HashTable类的每个方法中可见。