了解C 11 中基於範圍的for 語法
C 11 中基於範圍的for 循環提供了用於迭代容器的簡化語法。根據您打算觀察還是修改容器的元素,語法會有所不同。
對於觀察元素
要觀察元素而不修改它們,建議的語法是:
for (const auto& elem : container)
此語法通過 constst引用捕獲元素,避免在物件昂貴的情況下進行不必要的複製copy.
用於修改元素
如果需要就地修改元素,語法為:
for (auto& elem : container)
此語法捕獲元素透過非常量引用,讓您在循環體中修改它們。
特殊情況:代理迭代器
但是,對於使用代理迭代器的容器(例如std::vector
for (auto&& elem : container)
This語法使用「&&」類型修飾符來正確使用代理
摘要
以上是如何選擇正確的 C 11 基於範圍的 `for` 循環語法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!