2016-10-11 3 views
-4
auto messwerte2 = { 3.5, 7.3, 4.9, 8.3, 4.4, 5.3, 3.8, 7.5 }; 

Welche Möglichkeiten gibt es, explizit auf einen einzelnen Wert dieses Arrays zuzugreifen?Zugriff auf automatisch deklariertes Array

Konnte keine Information darüber finden. Nur, wie ich fand, war Schleifen mit Bereich für Schleife durch es.

+0

Ich weiß nicht wie Ihre Schleife sieht aus, und Sie zeigen es nicht, aber die Chancen sind sehr, dass, wenn Sie auf "Arrays" lesen, Sie wahrscheinlich über die richtige '[]' Syntax stolpern werden ... und "Schleife" impliziert, dass Sie über iterieren einzelne Elemente (was bedeutet, dass es zeigt, wie man auf einen einzigen zugreift ...) –

Antwort

4

Welche Möglichkeiten gibt es, explizit auf einen einzelnen Wert dieses Arrays zuzugreifen?

Es ist kein Array, wird aber zu einem std::initializer_list<double> abgeleitet, die durch einen Iterator oder einen Bereich auf Basis Schleife zugegriffen werden kann:

#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

Um es ein Verwendung Array zu machen eine explizite Array-Deklaration:

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

Das OP weiß, dass es eine auf einem Bereich basierende Schleife verwenden kann. Sie möchten wissen, wie man aus einer bestimmten Position nur einen einzigen Wert erhält. – NathanOliver

+0

@NathanOliver Yeah Ich habe das gerade bemerkt. –

+0

Scheint so, weil eine initializer_list nicht wie ein Array verwendet werden kann, so scheint es, als ob es nicht möglich ist. Vielen Dank. – baxbear

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

deklariert kein Array. Es erklärt eine std::initializer_list<double>

einen Array, Verwendung zu deklarieren:

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

Dann können Sie die regelmäßige Array-Indizierung Syntax.