访问自动声明的数组

Access auto declared array

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

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

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 };

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

Which possibilities exist to access a single value explicitly of this array?

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

#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;
    }
}

Live Demo

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

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