Opened 3 years ago

Closed 3 years ago

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

lab_08

Reported by: Terova Valeriia Owned by: Святослав Власов
Component: WW shared_ptr Version: 2.0
Keywords: Cc:

Description


Attachments (1)

image_2021-03-09_23-47-28.png (225.5 KB) - added by Святослав Власов 3 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 3 years ago by Святослав Власов

Type: ожидается проверкаожидаются исправления
  1. Когда shared_ptr не владеет никаким объектом (т.е. держит nullptr) то он не должен потреблять доп. памяти, а у тебя создастся Storage.
  2. Не надо вот так писать delete this;, это антипаттерн. Удаляй объект снаружи.

7/10 пока

comment:2 Changed 3 years ago by Святослав Власов

Upd:
Вам с Татьяной баллы пополам. Еще раз увижу -- буду обнулять.
Я ж предупреждал в прошлом семестре.
3.5/5

comment:3 in reply to:  2 Changed 3 years ago by Terova Valeriia

Вы предупреждали, а мы вняли. Как я не видела Таниного кода, так и она не видела моего. Даже просто обсуждение всей лабы ограничилось чем-то вроде – Ты сделала? – Да, там несложно, почитай про shared_ptr в гугле, там хорошо написано.

Поэтому я искренне недоумеваю от сложившейся ситуации.

Большинство функций в лабораторной реализуются в несколько строк (особенно если забыть про особенности nullptr, что совсем несложно, согласитесь, а тогда там каждая функция занимает максимум 2 строчки). Я считаю, что наши ошибки довольно очевидные и связаны с невнимательностью и неопытностью (я вот вообще впервые встретила слово антипаттерн, тем более я не знала, что писать delete this; плохо, теперь знаю, больше не буду), но никак не со списыванием.
Я не умею реализовывать по-другому такие функции как decr иincr и прочие. Нам дан .hpp файл, в котором даны названия функций, сигнатуры и их порядок. Логично начинать реализовывать их в том же порядке, как в заголовочном файле. Поэтому не вижу ничего удивительного в том, что наши работы могут выглядеть похоже.

На крайний случай, если уж вы нам совсем не верите, обратите внимание на историю коммитов, их там много (потому что я пишу локально, а дебажу на сервере), там должен быть виден процесс починки всякого валгринда и вообще какой-то работы.

Ну а больше всего меня волнует вопрос как можно этого избежать? Сидишь ты, пишешь, сдаешь. А потом тебе совершенно неожиданно прилетает. Окей, и что делать? А главное, что хочется заметить, что когда мы в прошлом семестре накосячили, мы ничего не отрицали, со всем и на все были согласны и вообще раскаялись и покаялись. Но в этот раз это просто неправда.

comment:4 Changed 3 years ago by Terova Valeriia

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

Changed 3 years ago by Святослав Власов

comment:5 Changed 3 years ago by Святослав Власов

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

Проблема не в том, что ваш код похожий, проблема в том, что он идентичный. Мне очень сложно поверить, что вот эти решения были сделаны людьми независимо друг от друга:
https://trac.compscicenter.ru/spbsu/attachment/ticket/398/image_2021-03-09_23-47-28.png

По твоим коммитам я действительно вижу, что ты писала код сама, но я по прежнему не понимаю почему он у вас с Татьяной практически символ-в-символ идентичен.

Хорошо, мне хочется вам верить и я верну баллы, но будем считать, что лимит невероятных совпадений в этом году для вас исчерпан.

По коду:

  1. В таких случаях удобно использовать тернарный оператор:
        if (object)
            storage_ = new Storage(object);
        else
            storage_ = nullptr;
    

можно записать как

storage_ = object ? new Storage(object) : nullptr;

10/10

Note: See TracTickets for help on using tickets.