我不明白如何在特定位置的多维向量中添加新元素。
我的载体是

std::vector<std::vector<char>> symbols


我有两个索引i0和i1和一个char值。
我想在该特定位置插入值,但是如果我尝试执行以下操作:

symbols[i0][i1] = value


如何使用插入方法?
我的向量必须是动态的。当我在特定位置插入值时,其尺寸必须更改。

最佳答案

为了索引到多维向量,您必须已经将其完全初始化,并且i0
使用C ++ 11:

std::vector<std::vector<char>> symbols(10, std::vector<char>(10));


现在,您的向量已初始化为包含10个大小均为10的向量的向量,此时,您可以像方矩阵一样索引到其中。

您可以使用插入方式,

symbols[i0].insert(symbols[i0].begin() + i1, 'a');


这是在做的事情是,首先您检索基于i0的内部向量,从那里可以在距起始迭代器特定偏移处执行插入。您只需要确保索引不超出向量的长度即可。

10-04 14:24