如何将元素添加到地图中的矢量

时间:2015-03-13 21:30:47

标签: c++ dictionary

现在我的代码循环浏览一个文本文件,然后将地图中的kgrams和字符添加到地图中。键是字符串,值是向量。但是如何将元素添加到与键关联的向量中?

以下是添加该值的代码,但它似乎无法正常工作。

for (int i = 0; i < wrapAround.length(); i++)
{
    temp = i + order;
    kgram[wrapAround.substr(i, temp)].add(temp++); //add value to the vector associated with key
}

我稍后会有一个if语句,看看以后的值是否在地图中,而且它永远不会是真的......我不确定原因。

2 个答案:

答案 0 :(得分:0)

C ++中string::substr的第二个参数是长度而不是结束位置。

请尝试像这样访问k-gram:wrapAround.substr(i, order)

答案 1 :(得分:0)

我将保留子字符串索引,但是要将项目添加到使用.push_back().push_front()的C ++向量中:

kgram[..].push_back(temp++);