#include <vector>
#include <iostream>
int main()
{
std::vector< int > v = { 1, 2, 3 };
for ( auto it : v )
{
std::cout<<it<<std::endl;
}
}
auto
扩展到什么?是扩展成int&
还是int
?
最佳答案
它扩展为 int。如果需要引用,可以使用
for ( auto& it : v )
{
std::cout<<it<<std::endl;
}
根据 C++11 标准,auto
算作 simple-type-specifier [7.1.6.2],因此适用于它的规则与其他简单类型说明符。这意味着用 auto
声明引用与其他任何东西没有什么不同。
关于c++ - for循环的范围内是什么类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8269694/