C++标准提供了map和multi_map,把key映射到value;
但是这种映射是单向的,只能是key到value,不能反过来;
boost.bimap扩展了标准库映射型容器,提供双向映射能力,功能强大;
bimap提供的映射关系有两个视图:左视图和右视图;
更多详细用法请参考《Boost程序库完全开发指南》
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | /* boost_bimap.cpp C++标准提供了map和multi_map,把key映射到value; 但是这种映射是单向的,只能是key到value,不能反过来; boost.bimap扩展了标准库映射型容器,提供双向映射能力,功能强大; bimap提供的映射关系有两个视图:左视图和右视图; 更多详细用法请参考《Boost程序库完全开发指南》 */ #include <iostream> #include <boost/bimap.hpp> using namespace std; template<class T> int main(void) bm.left.insert(make_pair(, "Zhang")); for(BOOST_AUTO(pos, bm.left.begin()); bm.right.insert(make_pair()); for(BOOST_AUTO(pos, bm.left.begin()); print_map(bm.left); cin.get(); |