title: Why is the destructor of the class called twice?
body: <p>Apologies if the question sounds silly, I was following experts in SO and trying some examples myself, and this is one of them. I did try the search option but didn't find an answer for this kind.</p>
  
  <pre><code>class A
  {
      public:
           A(){cout&lt;&lt;"A Contruction"&lt;&lt;endl;}
          ~A(){cout&lt;&lt;"A destruction"&lt;&lt;endl;}
  };
  
  int main()
  {
      vector&lt;A&gt; t;
      t.push_back(A()); // After this line, when the scope of the object is lost.
  }
  </code></pre>
  
  <p>Why is the destructor of the class called twice ?</p>