我在数组上经历了this C++ tutorial并遇到了一种不寻常的写for
语句的方式(参见第二个循环:for (int elem : myarray)
):
#include <iostream>
using namespace std;
int main()
{
int myarray[3] = {10,20,30};
for (int i=0; i<3; ++i)
++myarray[i];
for (int elem : myarray)
cout << elem << '\n';
}
有人可以解释这种写for
循环的方式吗?我想它会逐个打印myarray
的每个元素,但这种写for
语句的方式的一般语法是什么?在什么情况下可以使用它?
答案 0 :(得分:2)
它应该是基于范围的循环:http://www.cplusplus.com/doc/tutorial/control/
答案 1 :(得分:0)
这是一个foreach循环,而不是之前使用的正常for循环,它遍历整个数组。
当您不必(或想要)知道数组的特定索引并且仅关注元素的值时,可以使用此方法。
一般语法适用于( type x:array),其中type是数组的类型(及其中的元素),x是表示数组的特定元素的变量。
Wikipedia还有一篇关于foreach循环的文章,其中包含不同语言的示例。