C++11引入了一种新的for循环写法,称为Range-based for statement,也被称为foreach循环。这个新写法使遍历容器和其他可迭代对象变得更加简洁和易读。
Range-based for statement语法:
for (element_type element : iterable) { // 循环体 }
这里的 element_type
是迭代元素的数据类型,iterable
是一个可迭代对象,例如数组、容器、字符串、初始化列表等。在每次迭代中,循环将 element
设置为 iterable
中的下一个元素,并执行循环体。
例子:
遍历整数:
#include <iostream> #include <vector> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; for (int num : numbers) { std::cout << num << " "; } return 0; }
在这个示例中,range-based for statement 遍历了名为 numbers
的整数向量,并将每个元素赋值给 num
,然后在循环体中打印出这些元素。
优点:
这种写法的好处是它简化了循环的结构,不再需要使用迭代器或索引,从而减少了代码的复杂性和错误的机会range-based for statement还有助于提高代码的可读性,因为它直观地表达了对可迭代对象的遍历操作。此外,它还可以防止数组越界错误,因为它自动迭代整个容器而不需要手动跟踪索引。这使得C++代码更加安全和易维护。