Bonjour,
Petite question spécifique au C++ et aux pointeurs. Je viens de m'apercevoir qu'un point n'était pas très clair dans ma tête.
Une de mes classes a en attribut plusieurs objets les initialise dans son constructeur, puis s'en sert dans d'autres méthodes.
Cette classe est la seule à se servir de ces objets en attribut, elle ne les passe jamais en paramètre à l'extérieur.
Actuellement, ces attributs était des pointeurs, mais si je ne devrais pas plutôt garder une valeur.
Du coup, est-ce que c'est mieux/moins bien de garder une valeur plutôt qu'un pointeur ? Qu'est-ce que ça change ?
Dans le destructeur, il faut que je fasse un delete sur le pointeur, mais sur une valeur, est-ce qu'il faut que je le fasse aussi ?
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 class CustomClass { public: CustomClass(); virtual ~CustomClass(); void operation(); AnObject withoutPointer; AnObject *withPointer; CustomClass::CustomClass() { this->withoutPointer = AnObject(); this->withPointer = new AnObject(); } void CustomClass::operation() { this->withoutPointer.aMethod(); this->withPointer->aMethod(); }
Partager