OVH Cloud OVH Cloud

typedef struct dans une classe

12 réponses
Avatar
Geoffroy Baud
Bonjour,
cela se fait-il de definir un nouveau
type a l interieur meme d'une classe ?

dans le genre

class foo
{

public:
foo();
~foo();
setBar();
getBar();
private:
typedef struct BAR
{
int toto;
int momo;
}bar;

bar *p_bar;
}


Merci
--
-------------------------------------------------------------------
Geoffroy Baud geoffroy.baud@wanadoo.fr
0AE5 7A1B 527D 3966 8EBE 2EC0 AA79 EB54 7D7D 7CEC
-------------------------------------------------------------------

2 réponses

1 2
Avatar
Christophe Lephay
"Julien Blanc" a écrit dans le message de
news:3f5821c4$0$26408$
Geoffroy Baud wrote:
Fabien LE LEZ wrote:
Je conseillerais plutôt de ne pas passer par un pointeur.
Pourquoi ?



parce que si tu alloues dans le constructeur pour désallouer dans le
destructeur, alors ça ne sert à rien de passer par un pointeur, autant
passer par un objet directement, tu auras le même comportement, avec
tous les risques des pointeurs en moins (fuites de mémoire, ...).


Sauf, bien sur, si les données pointées sont d'un type polymorphe ou des
données partagées (pointées par ailleurs en dehors de l'objet)...

Chris



Avatar
Julien Blanc
Christophe Lephay wrote:
"Julien Blanc" a écrit dans le message de
news:3f5821c4$0$26408$

Geoffroy Baud wrote:

Fabien LE LEZ wrote:

Je conseillerais plutôt de ne pas passer par un pointeur.


Pourquoi ?


parce que si tu alloues dans le constructeur pour désallouer dans le
destructeur, alors ça ne sert à rien de passer par un pointeur, autant
passer par un objet directement, tu auras le même comportement, avec
tous les risques des pointeurs en moins (fuites de mémoire, ...).



Sauf, bien sur, si les données pointées sont d'un type polymorphe ou des
données partagées (pointées par ailleurs en dehors de l'objet)...


Certes. Mais du polymorphisme sur une inner-class, ça commence à être
tordu :).

--
Julien Blanc. Equipe cadp. VERIMAG. Grenoble. France.




1 2