C++11使用auto关键字进行基于范围的for循环,引用符号&的作用

对于内置数组以及包含方法 begin() 和 end() 的类(如std::string)和STL容器,基于范围的for循环可简化为它们编写循环的工作。······一种更容易、更安全的方式是,使用auto来声明x,这样编译器将根据prices声明中的信息来推断x的类型:

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

如果要在循环中修改数组或容器的每个元素,可使用引用类型:

std::vector<int> vi(6);
for(auto & x: vi)
    x = std::rand();

以上摘抄自:《C++ Primer Plus(第6版)中文版》 18.1.8 第一小节

原文地址:https://www.cnblogs.com/mrlonely2018/p/14817575.html