C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

variable globale dans classe statique

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Karim Yahioun
Guest





PostPosted: Fri Jan 09, 2004 4:42 pm    Post subject: variable globale dans classe statique Reply with quote



Bonjour,
pourriez vous m'aider sur la facon de declarer une variable globale
statique dans une classe statique (dans le .h) sans avoir lors de la
compilation une erreur du type "undefined reference...".

merci d'avance

Back to top
Karim Yahioun
Guest





PostPosted: Fri Jan 09, 2004 4:54 pm    Post subject: Re: variable globale dans classe statique Reply with quote



Karim Yahioun wrote:
Quote:
Bonjour,
pourriez vous m'aider sur la facon de declarer une variable globale
statique dans une classe statique (dans le .h) sans avoir lors de la
compilation une erreur du type "undefined reference...".

merci d'avance


En fait, j'ai trouvé une premiere solution qui serait de mettre toutes
mes variables statiques directement dans le .cpp de la classe statique.
Ca a l'air de fonctionner...mais peut-on faire mieux?



Back to top
Vincent Richard
Guest





PostPosted: Fri Jan 09, 2004 5:00 pm    Post subject: Re: variable globale dans classe statique Reply with quote



Le Vendredi 9 Janvier 2004 17:54, Karim Yahioun a écrit :

Quote:
En fait, j'ai trouvé une premiere solution qui serait de mettre toutes
mes variables statiques directement dans le .cpp de la classe statique.
Ca a l'air de fonctionner...mais peut-on faire mieux?

Si tu parles de faire ça :

// .hpp
class A
{
static int var;
};

// .cpp
int A::var = 5;

on ne peut pas faire mieux puisque c'est la solution utilisée
habituellement (et je suis presque sûr que c'est la seule possible).
Sauf si tu initialise directement la variable :

// .hpp
class A
{
static int var = 5;
};

Mais ça n'est possible que pour des types entiers.

Vincent

--
vmime, une bibliothèque C++ sous licence GPL pour parser et générer
des messages au format MIME : http://www.sourceforge.net/projects/vmime/

Back to top
Karim Yahioun
Guest





PostPosted: Fri Jan 09, 2004 5:08 pm    Post subject: Re: variable globale dans classe statique Reply with quote

Vincent Richard wrote:
Quote:
Le Vendredi 9 Janvier 2004 17:54, Karim Yahioun a écrit :


En fait, j'ai trouvé une premiere solution qui serait de mettre toutes
mes variables statiques directement dans le .cpp de la classe statique.
Ca a l'air de fonctionner...mais peut-on faire mieux?


Si tu parles de faire ça :

// .hpp
class A
{
static int var;
};

// .cpp
int A::var = 5;

on ne peut pas faire mieux puisque c'est la solution utilisée
habituellement (et je suis presque sûr que c'est la seule possible).
Sauf si tu initialise directement la variable :

// .hpp
class A
{
static int var = 5;
};

Mais ça n'est possible que pour des types entiers.

Vincent


Merci, j'ai aussi trouver un article qui me disait que c'etait tout
simplement impossible.

Merci en tout cas de ta reponse


Back to top
Michel Michaud
Guest





PostPosted: Fri Jan 09, 2004 5:10 pm    Post subject: Re: variable globale dans classe statique Reply with quote

Dans news:3FFED9E9.7050605 (AT) emi (DOT) u-bordeaux.fr, Karim
Yahioun <yahioun (AT) emi (DOT) u-bordeaux.fr> a écrit :
Quote:
pourriez vous m'aider sur la facon de declarer une variable globale
statique dans une classe statique (dans le .h) sans avoir lors de la
compilation une erreur du type "undefined reference...".

Il faut la définir dans un fichier source aussi. Si tu veux
éviter ça, la solution est un singleton simple, que tu peux mettre
dans un .h seulement, genre

inline int& MaVar()
{
static int maVar=0;
return maVar;
}

Ensuite tu utilises MaVar() au lieu de maVar dans ton code...

--
Michel Michaud [email]mm (AT) gdzid (DOT) com[/email]
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/


Back to top
Michel Michaud
Guest





PostPosted: Fri Jan 09, 2004 5:11 pm    Post subject: Re: variable globale dans classe statique Reply with quote

Dans news:3ffeddfd$0$7144$626a54ce (AT) news (DOT) free.fr, Vincent
Richard <chere-loque.MARRE-DE-LA-PUB (AT) wanadoo (DOT) fr.invalid> a écrit :
Quote:
// .hpp
class A
{
static int var = 5;
};

Mais ça n'est possible que pour des types entiers.

Non, en plus, il faut que la variable soit const et il est possible
que la définition soit nécessaire aussi...

--
Michel Michaud [email]mm (AT) gdzid (DOT) com[/email]
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/


Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.