История изменений
Исправление 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.