mettre un struct dans un vector
Bonjour,
voici un exemple simplifié de ce que je voudrais faire:
Je veux créer un vecteur qui contient des points:
Code:
1 2 3 4 5 6 7 8 9 10
|
// je crée un struct "Point":
typedef struct
{
int abscisse;
int ordonnee;
} Point;
// je crée un vecteur qui contiendra des points:
std::vector<Point> monVecteur; |
maintenant j'aimerais créer une fonction qui prend comme paramètre deux entiers, et qui ajoute au vecteur le point cprrespondant:
Code:
1 2 3 4 5 6 7 8 9
|
// je précise que cette fonction appartient à une classe dont monVecteur est une variable d'instance. Il est donc accessible depuis le corps de cette fonction
void addPoit(int x, int y)
{
Point unPoint;
unPoint.abscisse = x;
unPoint.ordonnee = y;
monVecteur.push_back(unPoint)
} |
Ma question: Est-ce que ce code va marcher? En effet, ma variable unPoint cessera d'exister à la fin de la fonction. Est-ce que la fonction "push_back" aura fait une copie de cette variable?
Ou alors est-ce que je suis obligé d'utiliser les pointeurs pour faire ce que je veux faire?
merci