Opened 4 years ago

Closed 4 years ago

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

WW #9

Reported by: Alexander Morozov Owned by: Sokolov Viacheslav
Component: WW shared_ptr Version: 1.0
Keywords: Cc:

Description


Change History (1)

comment:1 Changed 4 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed

Опять прав много
-rwxr-xr-x 1 nicesap nicesap 4,5K дек 6 00:53 main.cpp*
-rwxr-xr-x 1 nicesap nicesap 1,2K дек 6 00:53 matrix.cpp*
-rwxr-xr-x 1 nicesap nicesap 1,7K дек 6 00:53 shared_ptr.cpp*

Можно было бы
6 shared_ptr::Storage::Storage(Matrix *mtx) : data_(mtx), ref_count_(>1<) {}

Контрактов больше:

  • различные ограничения на ref_count_ во время работы со Storage (неотрицательность, в деструкторе 0)
  • Storage ожидает not null Matrix* в конструкторе

delete this конечно валидная конструкция
​​​https://isocpp.org/wiki/faq/freestore-mgmt#delete-this
но ни один программист не обрадуется увидеть это в чьем-либо коде. Это тот редкий случай, когда уместно, но в целом лучше все-таки так не делать

Note: See TracTickets for help on using tickets.