title: Constructor initializer list is not calling copy constructor
body: <p>So I was learning about constructor initializer list and I wrote the following code : </p>
  
  <pre><code>class Mango
  {
    public:
  
    Mango(){cout&lt;&lt;"Mango::ctor()";}
    Mango(const Mango&amp; other){cout&lt;&lt;"Mango::copy_ctor()";}
  };
  
  class Box
  {
      public:
  
      Box() : mango(Mango()) //**doesn't call copy constructor**
      {
      }
  
      Mango mango;
  };
  
  int main()
  {
    Box box; 
  
     return 0;
  }
  </code></pre>
  
  <p>I used g++ compiler for this. Its calling the constructor not copy constructor. It should call copy constructor right because I am creating an object to create another object? What's the issue here and what does standard says about it?</p>