【发布时间】:2023-03-18 12:34:01
【问题描述】:
我正在为声明、创建和操作指向列表对象数组的指针所需的语法而苦苦挣扎。我正在为课程作业创建一个哈希表模板类,使用链接来处理有冲突。
我的哈希表应该是list 对象的数组。 std::list 是唯一允许我用于赋值的标准库数据类,所以 vector 已失效。
我的问题是: 如何声明指向 std::list 数组的指针?我有:
private:
std::list<T> * table;
如何创建数组?我有:
table = new std::list<T>[3]; // start with table size 3
我认为我有声明和构造的权利,但我不是 100% 确定。最后,我如何与列表交互?我有:
for (int i = 0; i < _tableSize; i++) { // _tableSize is the array's size
if (!table[0][i].empty()) {
table[0][i].push_back(thing);
}
}
不知何故 table[0][i] 似乎无法访问table 指向的数组单元格。它应该是什么样子?
【问题讨论】:
-
list<list<T>>怎么样?那只使用list。 -
@James Alas,这个任务是不允许的。它必须是(指向)列表对象数组。
标签: c++ arrays pointers hashtable