我有一个 std::map<int, int>
和一个 std::list<std::map<int, int>::const_iterator>
.
我可以使用 STL 算法来填充 list
吗?来自 map
的所有迭代器为了?
如果可能,我不想使用显式循环。
最佳答案
STL 中的算法使用值而不是迭代器调用仿函数。
如果您着迷于避免显式循环,那么您可以尝试使用 iota
以迭代器作为值:
list.resize(map.size());
std::iota( std::begin(list), std::end(list), std::begin(map) );
Demo .
关于c++ - 用来自另一个容器的迭代器填充一个容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26701607/