【发布时间】:2010-12-21 18:24:44
【问题描述】:
如果我有一个容器(vector、list 等),其中每个元素都是 std::pair,是否有一种简单的方法可以遍历每对中的每个元素?
即
std::vector<std::pair<int,int> > a;
a.push_back(std::pair(1,3));
a.push_back(std::pair(2,3));
a.push_back(std::pair(4,2));
a.push_back(std::pair(5,2));
a.push_back(std::pair(1,5));
然后能够迭代值:1,3,2,3,4,2,5,2,1,5?
同样,什么类型的函子/函数会返回给我一个容器(相同类型),其中包含上述对元素的平面列表?
【问题讨论】:
-
std:pair 并不要求两种模板类型都属于同一类型,因此使用方法来做你想做的事情并没有什么意义。
-
考虑重新考虑您选择的容器。看来你这里不需要一双。
标签: c++ iterator containers std-pair