title: Destructor for static fields. Singleton realization
body: <p>So, classic simple Singleton realization is following:</p>
  
  <pre><code>class Singleton
  {
  private:
      static Singleton* singleton;
      Singleton() {}
  public:
      static Singleton* getInstance();        
  };
  </code></pre>
  
  <p><strong>cpp-file</strong>:</p>
  
  <pre><code>Singleton* Singleton::singleton = 0;
  
  Singleton* Singleton::getInstance()
  {
      if (!singleton)
      {
          singleton = new Singleton;
      }
  
      return singleton;
  }
  </code></pre>
  
  <p>I see memory leak here - 'cos there is no <em>delete</em> for the <em>new</em>. But in C++ there isn't static destructor, so we just don't care about this memory leak?</p>