Opened 4 years ago

Closed 4 years ago

#539 closed ожидается проверка (задача сдана)

WW_shared_ptr

Reported by: tarasov.denis Owned by: Sokolov Viacheslav
Component: WW shared_ptr Version: 3.0
Keywords: Cc:

Description


Change History (6)

comment:1 Changed 4 years ago by Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

Сейчас не выполнено требование

Умный указатель, указывающий в nullptr, не должен требовать дополнительной памяти

У класса есть понятные инварианты, которые стоит проверить с помощью assert-ов

storage_->decr();
if (storage_->getCounter() == 0)

delete storage_;

стоит вынести в функцию

comment:2 Changed 4 years ago by tarasov.denis

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 4 years ago by Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

Инвариантов больше.

comment:4 Changed 4 years ago by tarasov.denis

Version: 2.03.0

comment:5 Changed 4 years ago by tarasov.denis

Type: ожидаются исправленияожидается проверка

comment:6 Changed 4 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed
 19 void shared_ptr::Storage::incr()
 20 {
 21   assert(ref_count_ != 0);
 22   ref_count_++;
 23 }
 24 
 25 void shared_ptr::Storage::decr()
 26 {
 27    assert(ref_count_ > 0);
 28    ref_count_--;
 29 }

Разное количество отступов. В первом случае лучше бы проверить, что ref_count_ > 0.

Note: See TracTickets for help on using tickets.