If the operator= is properly defined, is it OK to use the following as copy constructor?
operator=
MyClass::MyClass(MyClass const &_copy) { *this
While the end result is the same, the members are first default initialized, only copied after that.
With 'expensive' members, you better copy-construct with an initializer list.
struct C { ExpensiveType member; C( const C& other ): member(other.member) {} }; };