访问自动声明的数组

问题描述 投票:-4回答:2
auto messwerte2 = { 3.5, 7.3, 4.9, 8.3, 4.4, 5.3, 3.8, 7.5 };

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

c++ arrays initializer-list auto
2个回答
4
投票

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

它不是一个数组,而是推导出一个可以通过迭代器或基于范围的循环访问的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 };

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

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

© www.soinside.com 2019 - 2024. All rights reserved.