Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 地图中的两个键值是否相同_C++_Linux_Boost_Stl_Map - Fatal编程技术网

C++ 地图中的两个键值是否相同

C++ 地图中的两个键值是否相同,c++,linux,boost,stl,map,C++,Linux,Boost,Stl,Map,我定义了一张地图 boost::unordered_map<"std::string,std::string">m_mapABC ; std::pair可以有两个相等的键值(我想我是对的)…每种情况下的bool值是多少,第一种情况下为真,第二种情况下为假,反之亦然 我还听说了std::tuple或boost::tuple可以使用一个键来存储不同的值 我不太清楚如何遍历它们……我需要帮助,而不是map如果您想将多个值与一个键关联,请使用std::multimap(或std::unor

我定义了一张地图

boost::unordered_map<"std::string,std::string">m_mapABC ;
std::pair
可以有两个相等的键值(我想我是对的)…每种情况下的bool值是多少,第一种情况下为真,第二种情况下为假,反之亦然

我还听说了
std::tuple
boost::tuple
可以使用一个键来存储不同的值


我不太清楚如何遍历它们……我需要帮助,而不是
map
如果您想将多个值与一个键关联,请使用
std::multimap
(或
std::unordered_multimap
)而不是
std::map


在某些情况下,使用
std::map
是有意义的(就我个人而言,我经常觉得这更可取)。

如果你想用同一个键存储多个项目,你应该使用
multimap
(也适用于
无序的
变体)

以下方面应起作用:

std::multimap<std::string,int> mm;
for( int i = 0; i != 10; ++i )
  mm.insert(make_pair("hello world"), i);
std::multimap mm;
对于(int i=0;i!=10;++i)
插入(配对(“你好世界”),i);

您的多重映射应该包含十个带有键“hello world”的条目和十个不同的值。

而不是使用
multimap
,而是使用
映射
std::multimap<std::string,int> mm;
for( int i = 0; i != 10; ++i )
  mm.insert(make_pair("hello world"), i);