LINUX.ORG.RU

История изменений

Исправление dissident, (текущая версия) :

В моем последнем примере вообще указателей нету. Есть только функция принимающая A&& и кривой A. В любом случае, ты ответил на мой вопрос про типичный пример. Если он должен работать, то A не должно в move contsructor делать

a.p = (int*)INCONSISTENT; 

Implicitly или explicitly.

PS Хотя нет, есть указатель, в A. С другой стороны, для pimpl использование unique_ptr ведет к какой-то трагедии с конструкторами если верить Scott Meyers (сейчас попробую найти).

Item 22: When using the Pimpl Idiom, define special member functions in the implementation file.

Найти можно на libgen.io: http://libgen.io/search.php?req=meyers effective modern c++&lg_topic=libg... Но это так, если кому-то вдруг интересно, насколько введение unique_ptr для pimpl предотвращает копирование и сколько нужно нагородить огорода вокруг с конструкторами, чтобы это заработало.

Исправление dissident, :

В моем последнем примере вообще указателей нету. Есть только функция принимающая A&& и кривой A. В любом случае, ты ответил на мой вопрос про типичный пример. Если он должен работать, то A не должно в move contsructor делать

a.p = (int*)INCONSISTENT; 

Implicitly или explicitly.

PS Хотя нет, есть указатель, в A. С другой стороны, для pimpl использование unique_ptr ведет к какой-то трагедии с конструкторами если верить Scott Meyers (сейчас попробую найти).

Исходная версия dissident, :

В моем последнем примере вообще указателей нету. Есть только функция принимающая A&& и кривой A. В любом случае, ты ответил на мой вопрос про типичный пример. Если он должен работать, то A не должно в move contsructor делать

a.p = (int*)INCONSISTENT; 

Implicitly или explicitly.