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