【发布时间】:2011-03-07 09:38:21
【问题描述】:
有没有返回p->first和p->second的内置函数对象,这样我就可以愉快的写了
transform(m.begin(),m.end(),back_inserter(keys),get_first);
transform(m.begin(),m.end(),back_inserter(vals),get_second);
基于 STL 的解决方案最好,boost 解决方案次之。
是的,我知道boost::lambda,我不想开始使用它。
【问题讨论】:
-
您似乎已经意识到STL(或可能是boost)中不存在直接支持,为什么不编写一个简单的函数模板来为您做这件事呢?它肯定比
bind方法或非标准方法更清晰...... -
@Nim,这可能是个好主意,但我总是担心团队中的每个人都会想出自己版本的
littleTidbitMissingFromSpec,所以如果我能找到一些可靠的提升,会更好。 -
您需要一个有据可查的 utils(或 aux)命名空间! ;)