Change History (6)

comment:1 Changed 4 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to Карнаухов Кирилл
Type: ожидается проверкаожидаются исправления

Тесты пройдены.

delete this делать легально, если у вас гарантировано объект создается на куче. Но лучше так не делать. Потому что рано или поздно кто-нибудь создаст ваш объект на стеке и будет очень удивлен результатом.

Код, вызывающий уменьшение счетчика и возможное удаление объекта, повторяется три раза. Лучше его завернуть в отдельный метод. И в нем же сделать delete storage вместо delete this.

Код, создающий storage, тоже повторяется. Можно попробовать сделать статический метод.

Надо бы уже опредедлиться, куда прижимать звездочку указателя: к типу или к переменной.
Лучше к типу.

7.5

comment:2 Changed 4 years ago by Карнаухов Кирилл

Owner: changed from Карнаухов Кирилл to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 4 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to Карнаухов Кирилл

Функции создания внутренностей shared_ptr (create_storage) и проверок внутренностей точно не должны быть публичными.

Сигнатура оператора присваивания намекает, что нужно сделать swap и ничего не проверять.

Опять у вас относительные пути к include


7.5

comment:4 Changed 4 years ago by Дмитрий Свиридкин

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

comment:5 Changed 4 years ago by Карнаухов Кирилл

Owner: changed from Карнаухов Кирилл to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 2.03.0

comment:6 Changed 4 years ago by Дмитрий Свиридкин

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

Не очень понятно, почему create_storage -- статический метод, если вы в него передаете this, но ладно.

9.7

Note: See TracTickets for help on using tickets.