C++11 提供了多种迭代容器的方法。例如:
基于范围的循环
for(auto c : container) fun(c)
std::for_each
for_each(container.begin(),container.end(),fun)
但是,推荐的方法是迭代两个(或更多)相同大小的容器以完成以下操作:
for(unsigned i = 0; i < containerA.size(); ++i) {
containerA[i] = containerB[i];
}
原文由 memecs 发布,翻译遵循 CC BY-SA 4.0 许可协议
答案就在这里!…当 C++23 来临时。
那么,发生了什么事?
我们正在构建一个特殊的“视图”。该视图允许我们将容器视为其他结构,而无需实际进行任何复制或类似的操作。使用 结构化绑定,我们可以在每次迭代中获取每个对齐元素的引用,并为它做任何我们想做的事情(并且安全地)
立即在编译器资源管理器中查看!