Утилита удаления/сброса элементов в методе копированияC++

Программы на C++. Форум разработчиков
Anonymous
Утилита удаления/сброса элементов в методе копирования

Сообщение Anonymous »

Код: Выделить всё

class B;

class A
{
private:
list myList;
unique_ptr smartUniq;

public:
A()
{
myList.push_back(new B(5));
myList.push_back(new B(6));
myList.push_back(new B(7));
}

~A()
{
for (auto& item : myList)
{

delete item;
}
cout getb()));
}
smartUniq.reset(src.smartUniq.get() ? make_unique(*src.smartUniq) : nullptr);
}

return *this;
}
};
Вопрос 1: какая версия назначения копирования правильная (Версия 1, Версия 2 или другая):
  • Что это за утилита удалить текущих участников перед копированием?
  • какая польза от : if( this != &src)?
В2: В чем польза smartUniq.reset: можно ли использовать его не так, как в ВЕРСИИ1?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ent-method

Вернуться в «C++»