当前位置:  开发笔记 > 编程语言 > 正文

是否有一个标准的C++函数对象来拆分std :: pair?

如何解决《是否有一个标准的C++函数对象来拆分std::pair?》经验,为你挑选了1个好方法。

有没有人知道是否有一个事实上的标准(即TR1或Boost)C++函数对象来访问std :: pair的元素?在过去24小时内,我曾两次希望我有类似keysPerl哈希函数的功能.例如,在std :: map对象上运行std :: transform并将所有键(或值)转储到另一个容器会很不错.我当然可以编写这样一个函数对象,但我更愿意重用那些有很多眼球的东西.



1> Johannes Sch..:

boost::bind 是你要找的.

boost::bind(&std::pair::second, _1); // returns the value of a pair

例:

typedef std::map map_type;

std::vector values; // will contain all values
map_type map;
std::transform(map.begin(), 
               map.end(), 
               std::back_inserter(values), 
               boost::bind(&map_type::value_type::second, _1));

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有