c++ - map 中的两个键值可以相同吗

标签 c++ linux boost stl dictionary

我定义了一个Map

boost::unordered_map<"std::string,std::string">m_mapABC ;

然后我将值存储在其中,如 m_mapABC[strValue1]=strValue2;

并且假设我在 map 中存储了 10 个条目。在这种情况下,可以使用相同的键值来存储 10 个不同的值..还是每次都会被覆盖...我想会的。
我猜在那种情况下使用 std::pair 会有所帮助。

std::map<"std::string, std::pair<"std::string", bool>>myMap2

std::pair 可以有 2 个相等的键值(我想我是对的)...每种情况下的 bool 值是多少,第一种情况下是 TRUE 还是 FALSE第二次还是相反?

我还听说过 std::tupleboost::tuple,其中单个键可用于存储不同的值。

我不是很清楚如何遍历它们...我需要帮助

最佳答案

您可能需要 multimap而不是 map

关于c++ - map 中的两个键值可以相同吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10844702/

相关文章:

c++ - 调试客户机器上生成的核心文件

c++ - 可移植图书馆的语言选择

c++ - 如何从libtorch输出中删除乘法器并显示最终结果?

java - 使用 [Caps-Lock] 区分两个 USB 连接的键盘

c++ - boost::multiprecision::uint128_t sizeof 为 24

c++ - 有没有办法让一个类的每个对象都有一个提升线程?

linux - 为什么 strace 不捕获所有文件访问?

c# - Microsoft.AspNetCore.Cryptography.Internal.dll : 'Unable to load DLL ' kernel32. dll'

c++ - boost::asio async_read/async_send 正在绕过它的处理程序

c++ - boost::system::error_category 处未解析的外部符号