title: What's the point in defaulting functions in C++11?
body: <p>C++11 adds the ability for telling the compiler to <a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Defaulting.2Fdeleting_of_standard_functions_on_C.2B.2B_objects" rel="noreferrer">create a default implementation</a> of any of the <a href="http://en.wikipedia.org/wiki/Special_member_functions" rel="noreferrer">special member functions</a>. While I can see the value of deleting a function, where's the value of explicitly defaulting a function? Just leave it blank and the compiler will do it anyway.</p>
  
  <p>The only point I can see is that a default constructor is only created when no other constructor exists:</p>
  
  <pre><code>class eg {
  public:
      eg(int i);
      eg() = default; 
  };
  </code></pre>
  
  <p>But is that really better than how you do it now?</p>
  
  <pre><code>class eg {
  public:
      eg(int i);
      eg() {}
  };
  </code></pre>
  
  <p>Or am I missing a use-case?</p>