boost无序映射找不到密钥

boost无序映射找不到密钥,boost,unordered-map,Boost,Unordered Map,听起来像是有线的。但我想不出它的原因。 这种情况是存在boost::unordered_map(key=std::string,value=std::string),它存储交换订单ID和内部订单ID 我使用运算符[]添加一个新条目,即map[key]=value 当我尝试使用find()查找密钥时 除了在14:xx左右外,一切正常,而程序在过去两天的上午9:00开始运行。当密钥应该插入到映射中时,找不到该密钥。所以我怀疑这和地图的大小有关 哈希映射是否可能在重相期间丢失其条目 PS无多线程问题,

听起来像是有线的。但我想不出它的原因。 这种情况是存在boost::unordered_map(key=std::string,value=std::string),它存储交换订单ID和内部订单ID

我使用运算符[]添加一个新条目,即map[key]=value 当我尝试使用find()查找密钥时

除了在14:xx左右外,一切正常,而程序在过去两天的上午9:00开始运行。当密钥应该插入到映射中时,找不到该密钥。所以我怀疑这和地图的大小有关

哈希映射是否可能在重相期间丢失其条目


PS无多线程问题,因为有一个锁保护映射

您的密钥的数据类型是什么?密钥是字符串,值是字符串一个字符串对象(如
std::string
)或字符串文字?非常奇怪。除非发生哈希冲突,否则不会发生这种情况。因为哈希映射不只是比较哈希值,我不太明白为什么在哈希冲突期间丢失一个条目。