我有一个 char 类型的二维向量,如下所示:
std::vector< std::vector<char> > Input_Vector ;
我希望行数是未知的,列数是固定的。因此,每行向量将包含 3 个单元格。
鉴于您知道每行总是有 3 个单元格,您可以将std::array<char, 3>
其用作元素类型。std::array
可以像常规向量一样被索引,但在内部它只是一个 c 样式的数组。这意味着使用它没有开销,并且与向量向量相比,它也将具有更好的缓存局部性。
它也可以用初始化列表之类的结构来创建!
std::vector<std::array<char, 3>> vect;
vect.push_back({'a', 'b', 'c'}); // This works
char c = vect[0][2]; // gets 'c'