46 votes

Comment utiliser vector::push_back()` avec une structure ?

Comment puis-je push_back un struct dans un vecteur ?

 struct point {
    int x;
    int y;
};

std::vector<point> a;

a.push_back( ??? );

13voto

Wim Points 7248
point p;
p.x = 1;
p.y = 2;

a.push_back(p);

Notez que, puisque a est un vecteur de points (pas de pointeurs vers eux), le push_back créera une copie de votre structure de point -- donc p peut être détruit en toute sécurité une fois qu'il disparaît hors de portée.

10voto

Rewd0n Points 81
struct point {
    int x;
    int y;
};

vector <point> a;

a.push_back( {6,7} );
a.push_back( {5,8} );

Utilisez l'accolade.

1voto

The Communist Duck Points 2700
point foo; //initialize with whatever
a.push_back(foo);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X