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

pet*_*555 0 c++ stl c++11

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

我可以使用STL算法listmap顺序填充所有迭代器吗?
如果可能,我不想使用显式循环.

Col*_*mbo 7

STL中的算法使用值而不是迭代器调用仿函数.如果你沉迷于避免显式循环,那么你可能会尝试使用iota迭代器作为值:

list.resize(map.size());
std::iota( std::begin(list), std::end(list), std::begin(map) );
Run Code Online (Sandbox Code Playgroud)

演示.