title: C++ Initialization list and memory alloc
body: <p>Is the following valid?</p>
  
  <pre><code>class myClass
  {
     private:
       ...
       int m_nDataLength;
       boost::shared_array&lt;int&gt; m_pData;
       ...
  
     public:
       myClass(): ..., m_nDataLength(10), m_pData(new int[m_nDataLength]), ...
       {
       }
  }
  </code></pre>
  
  <p>Am I right in assuming that the initialization will happen exactly in the order I've given in the ctor? If not, what if m_nDataLength's initialization happens after m_pData's?</p>