title: Order of execution in constructor initialization list
body: <p>Is order of execution in constructor initialization list determinable? I know that members order in a class is the order in which those members will be initialized but if I have scenario like this:</p>
  
  <pre><code>class X()
  {
  X_Implementation* impl_;
  };  
  
  and then providing that allocator is available:
  
  X::X():impl_(Allocate(sizeof(X_Implementation)))//HERE I'M ALLOCATING &lt;--1
  ,impl_(Construct&lt;X_Implementation&gt;(impl_))//AND HERE I'M CONSTRUCTING &lt;--2
  {
  }
  </code></pre>
  
  <p>but in order for this to be dependable this order MUST be from left to right. Is it guarantied by GREAT BOOK OF std:: or not? If not I can always move the second line into the body.</p>