Tableaux de structures

Tableaux de structures

by Yohann Calixte Dezauzier -
Number of replies: 3
Si je veux afficher les structures une a une dans un tableau de structures. Est ce correct de parcourir le tableau avec un for(auto element : tab) et mettre des cout << element.champs << De plus est il correct de faire un pushback et quelle serait donc la syntaxe pour définir la structure ajoutée au tableau?
In reply to Yohann Calixte Dezauzier

Re: Tableaux de structures

by Cédric Viaccoz -

C'est correct oui. Il faut cependant bien penser que l'opérateur  de manipulation des flots de sortie "<<" est seulement défini pour les types élémentaires. Ca implique donc que votre technique marchera du moment que les champs de votre struct sont de types élémentaires et non pas des objects/struct ou des références à ceux-ci. 

Je ne suis pas sûr toutefois d'avoir compris votre seconde question. Si votre but est juste d'afficher les structures, pourquoi souhaitez vous faire un pushback ensuite? Si ce que vous entendez par là c'est comment faire pour l'initialisation du tableau, j'y verrai deux façons:

 soit déclarer la struct à part dans une variable, puis push back cette variable:

struct MyStruct { int a; double b;};

vector <MyStruct> tab(0);

MyStruct m = {0, 2.0};

tab.push_back(m);


Soit vous passez directement la déclaration de la struct à push_back:

vector <MyStruct> tab(0);

tab.push_back({0, 2.0});


Chacune de ces solutions seraient considérées corrects.