了解 C 11 中基于范围的 for 语法
C 11 中基于范围的 for 循环提供了用于迭代容器的简化语法。根据您打算观察还是修改容器的元素,语法会有所不同。
对于观察元素
要观察元素而不修改它们,建议的语法是:
for (const auto& elem : container)
此语法通过 const 引用捕获元素,避免在对象昂贵的情况下进行不必要的复制copy.
用于修改元素
如果需要就地修改元素,语法为:
for (auto& elem : container)
此语法捕获元素通过非常量引用,允许您在循环体中修改它们。
特殊情况:代理迭代器
但是,对于使用代理迭代器的容器(例如 std::vector
for (auto&& elem : container)
This语法使用“&&”类型修饰符来正确使用代理
摘要
以上是如何选择正确的 C 11 基于范围的 `for` 循环语法?的详细内容。更多信息请关注PHP中文网其他相关文章!