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
-------------------------------------------------------------------

10 réponses

1 2
Avatar
Julien Blanc
Geoffroy Baud wrote:
Bonjour,
cela se fait-il de definir un nouveau
type a l interieur meme d'une classe ?


oui, si tu n'as pas besoin de ton type en dehors de ta classe, il n'y a
pas de raisons de le définir ailleurs que dans ta classe...

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

Avatar
Fabien LE LEZ
On Thu, 04 Sep 2003 17:27:09 +0200, Geoffroy Baud
wrote:

cela se fait-il de definir un nouveau
type a l interieur meme d'une classe ?


Oui ; par contre le typedef n'a pas la moindre utilité en C++.


struct bar
{
int toto;
int momo;
};

bar *p_bar;
}


Avatar
Geoffroy Baud
Geoffroy Baud wrote:

Merci


est-il conseiller d'allouer le poiteur
plustot dans le constructeur ?
meme si il ny est pas utiliser ?
ou de l allouer au moment ou on n en as besoin ?

merci encore

--
-------------------------------------------------------------------
Geoffroy Baud
0AE5 7A1B 527D 3966 8EBE 2EC0 AA79 EB54 7D7D 7CEC
-------------------------------------------------------------------
Avatar
Fabien LE LEZ
On Thu, 04 Sep 2003 17:52:55 +0200, Geoffroy Baud
wrote:

est-il conseiller d'allouer le poiteur
plustot dans le constructeur ?


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

class foo
{
public:
foo();
~foo();

setBar();
getBar();
-> Attention : ceci ne me semble pas valide, sauf si
setBar et getBar sont des macros.

private:
struct Bar
{
int toto;
int momo;
};

Bar mon_bar;
};

Avatar
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:

On Thu, 04 Sep 2003 17:27:09 +0200, Geoffroy Baud
wrote:

cela se fait-il de definir un nouveau
type a l interieur meme d'une classe ?


Oui ; par contre le typedef n'a pas la moindre utilité en C++.


??? Ca évite au moins de tartiner des trucs sans fin.

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France


Avatar
Samuel Krempp
le Jeudi 4 Septembre 2003 18:48, écrivit :

Oui ; par contre le typedef n'a pas la moindre utilité en C++.


??? Ca évite au moins de tartiner des trucs sans fin.


Tu te méprends, très certainement.
il parle de "*le* typedef", dans l'exemple posté, pas typedef en général..

--
Sam
Enlever les mots en trop dans mon e-mail pour répondre


Avatar
Fabien LE LEZ
On Thu, 4 Sep 2003 18:48:08 +0200, "Alain Naigeon"
wrote:

Oui ; par contre le typedef n'a pas la moindre utilité en C++.


??? Ca évite au moins de tartiner des trucs sans fin.


Je parlais du typedef de Geoffroy, qui n'a d'utilité qu'en C.


Avatar
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:

On Thu, 4 Sep 2003 18:48:08 +0200, "Alain Naigeon"
wrote:

Oui ; par contre le typedef n'a pas la moindre utilité en C++.


??? Ca évite au moins de tartiner des trucs sans fin.


Je parlais du typedef de Geoffroy, qui n'a d'utilité qu'en C.


Ok, excuses à toi, et merci à Samuel qui avait mieux suivi que moi ;-)

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France



Avatar
Geoffroy Baud
Fabien LE LEZ wrote:

On Thu, 04 Sep 2003 17:52:55 +0200, Geoffroy Baud
wrote:

est-il conseiller d'allouer le poiteur
plustot dans le constructeur ?


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

Pourquoi ?


Merci
--
-------------------------------------------------------------------
Geoffroy Baud
0AE5 7A1B 527D 3966 8EBE 2EC0 AA79 EB54 7D7D 7CEC
-------------------------------------------------------------------


Avatar
Julien Blanc
Geoffroy Baud wrote:
Fabien LE LEZ wrote:


On Thu, 04 Sep 2003 17:52:55 +0200, Geoffroy Baud
wrote:


est-il conseiller d'allouer le poiteur
plustot dans le constructeur ?


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, ...).

ensuite, concernant ta question, tout dépend ce que tu comptes faire de
ton objet (en fait de ton type, il n'y a aucune raison de se limiter à
un seul objet de ce type).

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



1 2