用C++交换地图的键和值

Saf*_*ari 7 c++

我正在寻找一个C++函数,用于交换映射的内容......即:那些键现在成为项目,而那些项目现在是键.你能告诉我这件事有什么意义吗?

Ole*_*nko 13

正如Geoffroy所说,std::map不允许这种行为.但是,您可能希望使用类似STL的容器Boost.Bimap - bidirectorial map.

Bimap是一种数据结构,表示两个集合的元素之间的双向关系.容器设计为两个相对的STL映射.集合X和集合Y之间的bimap可以被视为从X到Y的地图(此视图将被称为左地图视图)或从Y到X的地图(称为右地图视图).