lea*_*vst 12 c++ types auto c++11
我可以通过在C++中使用不同的容器来实现相同的输出.例如 ..
std::array<int, 5> v = {1,2,3,4,5};
for(auto i : v)
std::cout << i << ", ";
Run Code Online (Sandbox Code Playgroud)
要么
std::vector<int> v = {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)
要么
int v[] = {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)
等等..
那么什么容器在auto这里使用?
auto v = {1,2,3,4,5};
for(auto i : v)
std::cout << i << ", ";
Run Code Online (Sandbox Code Playgroud)
Bar*_*icz 19
std::initializer_list<int>
不是很难自己检查,你可以随时decltype(v),然后将它与所述列表类型进行比较.
这有另一个不错的属性,有时非常有用,可能会让你感兴趣:
for (auto i : {1,2,3,4,5})
std::cout << i << ", ";
Run Code Online (Sandbox Code Playgroud)
可以这样做,因为initializer_list保持标准范围界面.