访问自动声明的数组

时间:2016-10-11 13:43:37

标签: c++ arrays initializer-list auto

auto messwerte2 = { 3.5, 7.3, 4.9, 8.3, 4.4, 5.3, 3.8, 7.5 };

有哪些可能性可以显式地访问这个类似数组的结构的单个值,据我所知,它实际上是一个std :: initializer_list?

2 个答案:

答案 0 :(得分:4)

  

显式访问此数组的单个值有哪些可能性?

它不是数组,但推导为std::initializer_list<double>,可以通过迭代器或基于范围的循环访问:

source

Live Demo

要使它成为数组,请使用显式数组声明:

#include <iostream>

auto messwerte2 = { 3.5, 7.3, 4.9, 8.3, 4.4, 5.3, 3.8, 7.5 };

int main() {

    for(auto x : messwerte2) {
        std::cout << x << std::endl;
    }
}

答案 1 :(得分:1)

auto messwerte2 = { 3.5, 7.3, 4.9, 8.3, 4.4, 5.3, 3.8, 7.5 };

不声明数组。它声明了std::initializer_list<double>

要声明数组,请使用:

double messwerte2[] = { 3.5, 7.3, 4.9, 8.3, 4.4, 5.3, 3.8, 7.5 };

然后您可以使用常规数组索引语法。