自动循环跳过一些索引数组

时间:2014-09-26 16:32:21

标签: c++

我见过这样的代码

float MyFloat[30];
for (auto i : { 0, 1, 4, 5, 18, 19, 26, 27 })
    MyFloat[i] = 100.f;

这是否意味着它只设置所列索引的浮点数?

2 个答案:

答案 0 :(得分:0)

是的,i将采用初始化列表中的值。

答案 1 :(得分:0)

是的,你在一个initializer list整数上骑行,即std::initializer_list<int>

  

在以下情况下自动构造std :: initializer_list对象:

     
      
  • 一   braced-init-list用于列表初始化,包括   函数调用列表初始化和赋值表达式

  •   
  • 一   braced-init-list绑定到auto,包括在ranged for循环中

  •   

列表中没有的元素将保持未初始化状态。