C++-----基于范围的for循环

Posted 云灬沙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++-----基于范围的for循环相关的知识,希望对你有一定的参考价值。

基于范围的for循环是为用于STL而设计的,

double prices[5]={4.99,10.99,6.87,7.99,8.49};
for(double x:prices)
	cout<<x<<std::endl;

在这种for循环中,括号内的代码生命一个类型与容器存储的内容相同的变量,然后指出了容器的名称。

for(auto x:books) ShowReview(x);

根据book的类型(Vector’<Review’>),编译器将推断出x的类型为Review,而循环将依次将books中的每个Review对象传递给ShowReview()
基于范围的for循环可以修改容器的名称,诀窍是指定一个引用参数。
假设有如下函数:

void InflateReview(Review &r){r.rating++;}

可使用如下循环对books的每个元素执行该函数:

for(auto &x:books) InflateReview(x);

C++11

以上是关于C++-----基于范围的for循环的主要内容,如果未能解决你的问题,请参考以下文章

C++-----基于范围的for循环

C++11 反向基于范围的 for 循环

C++11 反向基于范围的 for 循环

C++11 基于范围的for循环

[C++11]基于范围的for循环

在 Qt 中正确使用 C++11 基于范围的 for 循环