}注:在VS编辑器中,可以直接选择foreach即可生成,但生成的代码见上,for与each之间有空格。
此外,还可以使用“基于范围的for循环(C++11)”,见《C++PrimerPlus》P152。另附,VS2012下的示例代码:#include#includeusing std::vector;using std::cout;using std::endl;
int _tmain(int argc, _TCHAR* argv[]){
二、Qt中的写法首先,Qt支持“for each (object var incollection_to_loop)”和“基于范围的for循环”两种标准C++的写法。其次,Qt也支持如下的写法:foreach (objectvar,collection_to_loop)类似与C#中的写法,for与each无空格,参数一是元素,参数二是容器,中间用逗号分隔。
三、对比C#中的写法首先,C++的容器(container)在C#中称为集合(collection)。其次,C#的for与each无空格,写法是:foreach (object var incollection_to_loop)。再次,可以用var进行自动类型推断。
注:C#中的var,其作用类似与C++中的auto,但比auto功能强大。auto必须在当前语句中能推断出变量的类型,而var可以先声明变量,在后续的语句中再指定变量的类型,且变量类型指定后,不能再改变其类型(不再接收其他类型的赋值)。