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

Quelles possibilités existe-t-il pour accéder explicitement à une seule valeur de ce tableau?Accès au tableau déclaré automatiquement

Aucune information n'a été trouvée. La seule façon que j'ai trouvé était de boucler avec la gamme basée pour la boucle à travers elle.

+0

Je ne sais pas comment votre boucle ressemble, et vous ne le montrez pas, mais il y a de fortes chances que si vous lisez sur "tableaux", vous trébucheriez probablement sur la bonne syntaxe '[]' ... et "boucle" implique que vous parcourez éléments individuels (ce qui implique qu'il montre comment accéder à un seul ...) –

Répondre

4

Quelles possibilités existent pour accéder explicitement à une seule valeur de ce tableau?

Il est pas un tableau, mais on en déduit un std::initializer_list<double> accessible par un iterator ou une boucle à base de gamme:

#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

Pour le rendre un tableau utilisation une déclaration de tableau explicite:

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

L'OP sait qu'il peut utiliser une boucle à base de distance. Ils veulent savoir comment obtenir une seule valeur à partir d'une position spécifique. – NathanOliver

+0

@NathanOliver Ouais je viens de le remarquer. –

+0

On dirait que l'initializer_list ne peut pas être utilisé comme un tableau, il semble donc que ce n'est pas possible. Je vous remercie. – baxbear

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

ne déclare pas de tableau. Il déclare un std::initializer_list<double>

Pour déclarer un tableau, utilisez:

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

Ensuite, vous pouvez utiliser la syntaxe d'indexation de réseau régulier.