Je souhaite appeler plusieurs fois des fonctions avec une API C du type
Comme je souhaite faire des tests j'ai besoin de construire des polygones et j'ai écrit le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 void AddPolygon1(int nb_points, Point * points); void AddPolygon2(int nb_points, Point * points); ...
MakeRectangle va créer un temporaire mais quand sera détruit ce temporaire ? Est-ce que dans l'appel à AddPolygon1 le pointeur sur "points" est ok ou est-ce que l'objet a déjà été détruit ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 typedef std::vector< Point > Points; Points MakeRectangle(double dx, double dy) { ...} ... AddPolygon1(4u, &(MakeRectangle(200.0, 100.0).front()));
L'alternative serait d'écrire des wrapper autour de chacune des fonctions de l'api C mais je me demandais si je pouvais m'en passer.
Partager