According to the c++11 standard a default move constructor is only generated if:
Yes, you can always explicitly invoke the default generation for functions that can be automatically generated with = default. That's what the syntax is for.
= default