自c++20起,Range-based for循环中可以使用一个初始化器。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
for(vector vec{1,2,3,4,5} ;int i:vec)
{
cout<<i<<endl;
}
return 0;
}
其中vector的初始化可能比较奇怪,在C++20中可以不显示指明模板的类型,编译器会自行推导出其类型,该例中得vector vec 的类型为vector<int>。