Dlaczego konstruktor ruchu zdefiniowany przez użytkownika wyłącza niejawny konstruktor kopii?

Podczas czytania boost / shared_ptr.hpp zobaczyłem ten kod:

//  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

Co powoduje wygenerowanie komentarza przez konstruktora kopii, destruktora, z wyjątkiem C ++ 11, ruch wyłącza niejawną kopię? Czy zawsze powinniśmy sami pisać kopię, aby zapobiec tej sytuacji w C ++ 11?

questionAnswers(2)

yourAnswerToTheQuestion