使用另一个容器中的迭代器填充容器

时间:2014-11-02 16:29:13

标签: c++ c++11 stl

我有一个std::map<int, int>和一个std::list<std::map<int, int>::const_iterator>

我可以使用STL算法按顺序用list中的所有迭代器填充map吗?
如果可能的话,我不想使用显式循环。

1 个答案:

答案 0 :(得分:7)

STL中的算法使用值而不是迭代器调用仿函数。 如果您痴迷于避免显式循环,那么您可能会尝试将iota与迭代器一起用作值:

list.resize(map.size());
std::iota( std::begin(list), std::end(list), std::begin(map) );

Demo