自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>。
本文介绍了自C++20以来,如何在Range-based for循环中利用简洁的初始化器来简化向量操作。通过实例展示了编译器如何推导vector<int>类型,并展示了代码片段以展示这一变化的实际应用。
487

被折叠的 条评论
为什么被折叠?



