Как работает size_t в качестве параметра - PullRequest
0 голосов
/ 15 ноября 2018

Итак, я делаю свою первую попытку создать хеш-таблицу и совершенно не знаю, что делать для моих конструкторов?

class HashTable {
   typedef vector <list<HashNode> > Table;
   Table *table; // size of table is stored in the Table data structure
   size_t num;   // number of entries in the HashTable;
}

это класс, для которого я пытаюсь создать конструкторы, и мне дано.

public:
   HashTable();       // constructor, initializes table of size 1;
   HashTable(size_t num); // constructor, requires size of table as arg

Я не очень понимаю, что я должен делать. Итак, сначала я должен инициализировать размер table до 1. Что, поскольку я использую вектор, я предполагаю, что должен использовать функцию reserve? Итак, я пошел дальше и получил это:

this->table->resize(num);

, который скомпилирован нормально, и у меня не было проблем, и я думаю, что это правильно. Во втором конструкторе я понял проблему, в основном из-за использования size_t. Насколько я понимаю, где я могу установить размер таблицы size_t? Но что должно быть size_t? Я думаю, что это тип данных, но зачем мне устанавливать размер Hashtable для типа данных? Если я не пропущу что-то очевидное здесь, я не вижу.

...