title: double pointers to C++ objects
body: <p>I need to modify a really long program that was written by another programmer. Going through his code, you can see double pointers to C++ objects. I don't understand why double pointers are used in this case, I think a single pointer would do the same thing. An example makes it more clear:</p>
  
  <pre><code>class A {
  ...
  public:
     static B** b; //why double pointers here?
     ...
  }
  
  
  Class B {
  ...
  public: 
     B(...)
     func1();
     func2();
  }
  </code></pre>
  
  <p>We need to have a number of objects from <code>B</code> class, let say 5 objects (<strong>not</strong> a 2D array of objects). Once we create <code>b</code>, the code never tampers with *b. Only B's functions are called by <code>b[i]-&gt;func1()</code>. So, since we don't change pointers, I would guess we could do the same thing by defining <code>static B* b;</code>. Am I neglecting something?</p>