Je peux accéder aux variables tuple mais je ne sais pas comment je pourrais accéder aux variables contenu d'une variable tuple sélectionnée, ici la variable [0], qui contient {1,2,3}.
Depuis C++17 tu peux les déstructurer de manière conviviale avec les structured bindings.
// x, y, z sont trois variables de type int.
auto [x, y, z] = v[0];
std::cout << x << std::endl;
std::cout << y << std::endl;
std::cout << z << std::endl;
- Edité par markand 21 janvier 2019 à 9:22:13
git is great because Linus did it, mercurial is better because he didn't.
ça ne fonctionne pas, enfin je ne sais pas comment l'écrire.
using ar = std::array <int, 4>;
std::vector <ar> v;
v.push_back({1 , 2 , 3});
std::cout << v[0, std::get<0>]<< std::endl;
J'ai essayé plusieurs façon, dont celle là et ça ne marche pas, j'ai aussi essayé de mettre un [0] à la place de std::get, ça ne marche pas également.
markand a écrit:
Depuis C++17 tu peux les déstructurer de manière conviviale avec les structured bindings.
// x, y, z sont trois variables de type int.
auto [x, y, z] = v[0];
std::cout << x << std::endl;
std::cout << y << std::endl;
std::cout << z << std::endl;
J'ai un peu de mal avec la documentation en anglais (je sais, c'est très problématique pour quelqu'un voulant apprendre le c++).
using ar = std::array <int, 4>;
std::vector <ar> v;
v.push_back({1 , 2 , 3});
std::cout << v[0, std::get<0>]<< std::endl;
Heu ...
Pourquoi faire simple quand on peut faire compliqué (surtout quand le compliqué ne fonctionne pas) ? Chaque élément de vector te renvoient un array<int, 4>, et tous deux supportent l'opérateur []. Donc ca se comporte comme un tableau 2D:
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
git is great because Linus did it, mercurial is better because he didn't.