Здравствуйте, _Winnie, Вы писали:
_W>Подытожу.
_W>Трюк с
_W>this->>~X();
_W>return *(new (this) X(x));
_W>
_W>плох тем, что не работатает если конструктор копирования бросит исключение. Также он не работает, если кто-то унаследован от X и деструктор виртуальный. Вот тут будет весело ^_^.
+1
_W>Кто может сказать что-то плохое про
_W>_W>X::X( X const & x )
_W>{
_W> // ... default init
_W> operator =(x);
_W>}
_W>
_W>?
_W>За исключением, возможно, дешевых лишних действий.
Вот здесь было большое обсуждение на эту тему:
безопасность конструктора копированияАвтор: sc
Дата: 21.04.05
... << RSDN@Home 1.1.4 stable rev. 510>>