在 C++ 中,在地图中插入一个向量
Posted
技术标签:
【中文标题】在 C++ 中,在地图中插入一个向量【英文标题】:In c++, Insert a vector in a map 【发布时间】:2015-06-07 03:47:12 【问题描述】:在 c++ 中,我想在地图中插入一个向量。
map的key是一对string和int,value是一个vector。
我正在写下以下代码,但似乎矢量没有插入到地图中。
是不是代码的语法错了? 如果是这样,你能告诉我正确的吗?
map<pair<string, int>, vector<string> > my_map;
vector<string> v;
v.push_back("abcde");
my_map.insert(make_pair(make_pair("aaa",1),v));
【问题讨论】:
v_pre
定义在哪里?
对不起,这是错误的。我编辑了。
我无法重现这个。 Check it out
即使我无法重现该错误。检查它:ideone.com/XrZYxU
“好像向量没有插入到地图中” 根据.....?
【参考方案1】:
您使用了 v_pre 而向量的名称为 v:
my_map.insert(make_pair(make_pair("aaa",1),v_pre));
正确的代码应该是:
my_map.insert(make_pair(make_pair("aaa",1),v));
【讨论】:
@szakira:你遇到了什么问题? 插入后map的值为空!! 使用函数my_map.empty()检查,你会得到错误的。 for (map以上是关于在 C++ 中,在地图中插入一个向量的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C++ 中读取文件并将文件中的数据插入到类类型的向量中?
C ++:在向量中插入啥 - 指针或引用,向量何时复制它的元素?