我需要声明并存储一个二维字符串数组。我事先无法知道两个尺寸的大小。 C ++要求我知道至少第二个数组的大小,对吗?如果是这样,最好的方法是什么?
答案 0 :(得分:4)
使用std::vector
。事实上,即使你知道尺寸,你也应该这样做,除非你有充分的理由不这样做。
答案 1 :(得分:4)
正如其他答案所述,std::vector<>
是适合该工作的集合。
要声明字符串的2D矢量,请使用:
std::vector<std::vector<std::string>> strings;
填充后,您可以使用熟悉的下标符号来访问元素:
const std::string& at(strings[i][j]);
答案 2 :(得分:3)
不要使用&#39; raw&#39;数组,因为你不知道大小。一种可能性是使用标准容器std::vector
。