如何在向量图中替换向量的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在向量图中替换向量的值?相关的知识,希望对你有一定的参考价值。

我试图在向量的映射中将字符串向量的值更改为-1,如下面的代码所示,但是当我显示数据时它保持不变。

map <std::string, vector <string>> amap;
map<std::string, vector<string> >::iterator it=amap.begin();
//it is iterator of map
 it=amap.begin();
for(;it != amap.end(); ++it)
   {
        vector<string> intvec = it->second;
          for(int j=i+1;j<intvec.size();j++)
      {                    str2=intvec[j];

                       intvec.at(j)="-1";
      }
   }

我想在特定的向量索引中放置-1作为map的特定键。请帮忙:)

答案

我试图在向量的映射中将字符串向量的值更改为-1,如下面的代码所示,但是当我显示数据时它保持不变。

那是因为你正在修改副本,而不是地图内的矢量。

这条线

vector<string> intvec = it->second;

制作矢量的副本,然后您正在修改副本。更改该行以使用引用类型:

vector<string>& intvec = it->second;
//            ^^
另一答案

如果您使用的是C ++ 11,则可以使用auto关键字和基于范围的循环。这将做你想要完成的事情(尽管我不确定你为什么要这样做)。请注意,这会将地图中的每个值设置为“-1”。

std::map <std::string, std::vector<std::string> > aMap;
for (auto& kv : aMap)
{
    // aMap has key value pairs kv.first and kv.second
    for (auto& str : kv.second)
    {
        str = "-1";
    }
}

以上是关于如何在向量图中替换向量的值?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ggplot 在折线图中仅绘制 x 轴上的日期向量的值

2个向量之和

引用向量的部分片段?

如何更改向量中元素的值?

绘图中的颜色点因值向量而异

使用 boost 作为向量的元素在图中添加顶点