История изменений
Исправление next_time, (текущая версия) :
Чёт я не вкуриваю, мб потому, что ночь не спал.
Делетер не вызывается, т.к. стандарт гарантирует, что deleter не будет вызван, если в unique_ptr нулевой указатель.
C::~C()
{
impl_ = nullptr;
delete impl_;
impl_ = nullptr;
}
Делетер не вызывается, т.к. адресс impl_ конвертируется в false
C::~C()
{
impl_ = nullptr;
if (impl_) {
delete impl_;
impl_ = nullptr;
}
}
Так какая разница?
Исходная версия next_time, :
Чёт я не вкуриваю, мб потому, что ночь не спал.
Делетер не вызывается, т.к. стандарт гарантирует, что deleter не будет вызван, если в unique_ptr нулевой указатель.
C::~C()
{
impl_ = nullptr;
delete impl_;
impl_ = nullptr;
}
Делетер не вызывается, т.к. адресс impl_ конвертируется в false
C::~C()
{
impl_ = nullptr;
if (impl_) {
delete impl_;
impl_ = nullptr;
}
}
Так какая разница?