Bonjour,

voici un exemple simplifié de ce que je voudrais faire:

Je veux créer un vecteur qui contient des points:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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