我正在尝试学习 C++ 并尝试为简单的哈希表编写代码,如下结构:
array[0][0] array[0][1] array[0][2]
key 1 value 1 value 2
array[1][0] array[1][1]
key 2 value 3
array[2][0] array[2][1] array[2][2]
key 3 value 4 value 5
表示动态数组的数组。现在,我不明白如何定义这样的数组?
对此的任何帮助将不胜感激。
If you really确实需要创建动态数组的动态数组,您必须使用new
两个数组的关键字。例如:
// an array of int pointers... each points to the start of an array
int** arrays = new int*[10];
arrays[0] = new int[99]; // populate the first element of the array of arrays
arrays[1] = new int[47]; // arrays don't have to be the same size.
当然,我强烈建议不要这样做。然后你必须记住使用delete[]
对每个成员arrays
and on arrays
itself.
实际上你应该使用内置的std::vector
为此键入。这就是它存在的原因(我投票给了其他答案!)。
需要注意的是,这也不是连续的内存。另外,如果您确实希望成员数组的大小相同,您可以将它们的内存分配在for
loop.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)