Re: оператор копирования
От: Константин Ленин  
Дата: 07.09.05 14:41
Оценка:
Здравствуйте, Alexey Chen, Вы писали:

AC>Сегодня рассказывал о реализации оператора копирования через swap, и по ходу в качестве примера привёл вариант как делать НЕ надо.


AC>
AC>X& X::operator = ( X const &x )
AC>{
  this->>~X();
AC>  return *(new (this) X(x));
AC>}
AC>


Изврат, хотя может у них там логика такая

AC>Дык, вот я маленько в шоке от того, что меня активно стали убеждать, что именно так очень даже неплохо делать ... Быстро, просто, ничего лишнего...

AC>Э ... интересно мнение студии.

AC>И ещё интересно мнение на тему конструкции


AC>
AC>X::X( X const & x )
AC>{
AC>  // ... default init
AC>  operator =(x);
AC>}
AC>


если в связке с первым — Stack Overflow Exception)
я почти так делаю, тока тело первой конструкции другое)), без SOE)
В констр. копирования или в оп. присв. делаешь норм. инициализацию( почленно присваиваешь и .т.п.), а о оставшейся функции юзаешь первую


AC>P.S.

AC>Это не студенты. Вполне себе программисты со стажем. По сему задумался.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.