Warum deaktiviert der benutzerdefinierte Move-Konstruktor den impliziten Copy-Konstruktor?

Während ich boost / shared_ptr.hpp lese, habe ich diesen Code gesehen:

//  generated copy constructor, destructor are fine...

#if defined( BOOST_HAS_RVALUE_REFS )

// ... except in C++0x, move disables the implicit copy

shared_ptr( shared_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
{
}

#endif

Was bedeutet der Kommentar "Generierter Kopierkonstruktor, Destruktor sind in Ordnung, außer in C ++ 11, Verschieben deaktiviert die implizite Kopie" hier? Sollen wir die Kopie immer selbst schreiben, um diese Situation in C ++ 11 zu verhindern?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage