是否有一个内置
函数对象返回p->第一和p->秒,以便我可以愉快地写
transform(m.begin(),m.end(),back_inserter(keys),get_first);
transform(m.begin(),back_inserter(vals),get_second);
基于STL的解决方案是最好的,提升解决方案是次好的.
是的,我知道boost :: lambda,我不想开始使用它.
有非标准扩展名为
g++
和
SGI
,称为select1st和select2nd.所以STL中可能没有什么可以.
Boost的绑定也可以这样做,给它一个指向正确的成员函数的指针
boost::bind(&std::map<string,string>::value_type::second,_1)