我可以通过在 C++ 中使用不同的容器来实现相同的输出。例如 。 .
std::array<int, 5> v = {1,2,3,4,5};
for(auto i : v)
std::cout << i << ", ";
或
std::vector<int> v = {1,2,3,4,5};
或
int v[] = {1,2,3,4,5};
等等。 .
那么auto
在这里使用什么容器呢?
auto v = {1,2,3,4,5};
for(auto i : v)
std::cout << i << ", ";
最佳答案
std::initializer_list<int>
自己检查并不难,您可以随时decltype(v)
,然后将其与所述列表类型进行比较。
它还有另一个很好的属性,有时非常有用,你可能会感兴趣:
for (auto i : {1,2,3,4,5})
std::cout << i << ", ";
可以这样做是因为initializer_list
保持标准范围接口(interface)。
关于c++ - auto 用于容器的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17361651/