c++ map set 互转 transform

来源:互联网 发布:2017好玩的3d网络手游 编辑:程序博客网 时间:2024/06/02 05:06
突然想到的这个问题,一时不知道如何解决了,请高手指点。
情景很简单,假设我现在有一个map<int, int>的结构,我现在想把这个map中的键值复制一份到vector<int>的容器中。最简单的办法自然就是(假设m代表map, v代表vector):

int GetKey(const pair<int, int>& element) {return element.first;}

int _tmain(int argc, _TCHAR* argv[])
{
    //Do something
    map<int, int> m;  
    m[0] = 1;
    vector<int> v;
    transform(m.begin(), m.end(), back_inserter(v), GetKey);
}

现在我对这个方法不满意,希望把GetKey写成模板函数,讨教各位高招。
原创粉丝点击