Fix use of singleton pattern.master/fix-singleton
authorYann Dirson <ydirson@altern.org>
Sun, 20 Apr 2008 19:52:42 +0000 (20 21:52 +0200)
committerYann Dirson <ydirson@altern.org>
Sun, 20 Apr 2008 19:52:42 +0000 (20 21:52 +0200)
src/random.cpp
src/random.h

index 02df1c1..35d6468 100644 (file)
@@ -10,8 +10,6 @@
 
 #include "random.h"
 
-Random* Random::m_instance = 0;
-
 Random::Random() { }
 
 Random::IntegerGenerator Random::rand(int min, int max) {
@@ -28,9 +26,6 @@ Random::RealGenerator Random::rand(double min, double max) {
 }
 
 Random& Random::instance() {
-  if (!m_instance) {
-    m_instance = new Random;
-  }
-  return *m_instance;
+  static Random instance;
+  return instance;
 }
-
index a3e68a4..774b836 100644 (file)
@@ -27,7 +27,6 @@ private:
   RandomGenerator m_generator;
   
   Random(); // singleton
-  static Random* m_instance;
 public:
   IntegerGenerator rand(int min, int max);
   RealGenerator rand(float min, float max);