Aurélien REGAT-BARREL Guest
|
Posted: Fri Jul 16, 2004 3:40 pm Post subject: classe singleton Vs namespace et variable globale |
|
|
Hello, c'est encore moi.
J'ai besoin de gérer une valeur au sein du logiciel. J'étais parti sur une
classe singleton (je n'ai besoin que d'une instance), mais je me demande ce
qui est le mieux entre :
// classe singleton classique
class Singleton
{
public:
static Singleton & GetInstance();
int GetValue() const { return this->value; }
private:
Singleton();
Singleton( const Singleton & );
Singleton & operator=( const Singleton & );
private:
int value;
};
=> int val = Singleton::GetInstance().GetValue();
// membres statiques public uniquement
class Singleton2
{
public:
static int GetValue() { return GetInstance().value; }
private:
Singleton2();
static Singleton2 & GetInstance();
private:
int value;
};
=> int val = Singleton2::GetValue();
// namespace
namespace Singleton3
{
// .h
int GetValue();
// .cpp
namespace // anonyme
{
int value;
}
int GetValue()
{
return value;
}
}
=> int val = Singleton3::GetValue();
Que préférez-vous entre Singleton, Singleton2 et Singleton3 ?
Merci.
--
Aurélien REGAT-BARREL
|
|