C++11 adds the ability for telling the compiler to create a default implementation of any of the special member functions. 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.
The only point I can see is that a default constructor is only created when no other constructor exists:
class eg {
public:
eg(int i);
eg() = default;
};
But is that really better than how you do it now?
class eg {
public:
eg(int i);
eg() {}
};
Or am I missing a use-case?