Opened 3 years ago
Closed 3 years ago
#397 closed ожидается проверка (задача сдана)
Lab 8
Reported by: | antonenko.mixail | Owned by: | Святослав Власов |
---|---|---|---|
Component: | WW shared_ptr | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (7)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Upd, минорное:
return storage_ == 0;
---nullptr
же. А вообще когда хотят законвертить поинтер в бул обычно пишутreturn !!storage_;
-
if (storage_) return storage_->getObject(); else return nullptr;
тут else
лишний, а вообще можно заюзать тернарный оператор, будет покороче:
return storage_ ? storage_->getObject() : nullptr;
comment:3 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:4 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
typedef
для структур в С++ не нужен. Можно просто писатьstruct Storage {...};
и в дальнейшем обращаться к имени структуры какStorage
, без указания ключевого словаstruct
.- У операторов
->
и.
почти самый высокий приоритет, а значит скобки при обращении к полю или методу у объекта не нужны почти никогда delete nullptr;
-- это безопасная операция, она не делает ничего, поэтому проверять указатель наnullptr
перед вызовомdelete
не нужно
В остальном всё ок, 9/10
comment:5 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:6 Changed 3 years ago by
Version: | 2.0 → 3.0 |
---|
Note: See
TracTickets for help on using
tickets.
Проверяй мейкфайл перед отправкой:
~Storage
ты вероятно получал по той причине, что зачем-то вызываешь его изdecr
. Не нужно его вызывать явно. Когда у тебя заканчиваются ссылки -- просто удаляйstorage_
и деструктор сам вызовется.reset
, от неё можно избавиться1/10 пока