Здравствуйте, MaximE, Вы писали:
ME>Это так. Но пользователем этой структуры является только DataMapper. В *.cpp DataMapperImpl полностью определен и вызов ~auto_ptr<DataMapperImpl> происходит только из определенного деструктора DataMapper, что не приводит к неопределенному поведению.
это неимеет никакого значения, стандарт в этом плане — неумолим. Нельзя, значит нельзя
ME>Это тоже самое, как если бы я написал так:
ME> //const std::auto_ptr<struct DataMapperImpl> _pimpl;
ME> struct DataMapperImpl* _pimpl;
вот если бы ты поступил так, то сделал бы в точности как писал Саттер
ME>Рекоммендую, все-таки, почитать Саттера по вышеприведенной ссылке
да он у меня на столе в бумажном виде лежит