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);