Кресты / Говнокод #23850 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
MyType(const CopyPastedFromSomewhere&) = delete;
MyType& operator=(const CopyPastedFromSomewhere&) = delete;

MyType& operator=(const MyType*) = delete;

// Winner?
MyType& MyType(const MyType&) = delete;

А что можно найти в вашей кодовой базе? К слову, выяснилось, что вариант

void operator=(const MyType&) = delete;
вполне себе допустим.

Запостил: roman-kashitsyn roman-kashitsyn, (Updated )

Комментарии (21) RSS

    • Свежий комментарий, а всё равно старше поста. Снова посты удалили, а комментарии оставили.
      Ответить
  • Напомните, зачем конструктору копирования что-то возвращать?
    Ответить
    • > зачем конструктору копирования что-то возвращать?

      Конструктор копирования не может ничего вернуть. Winner удаляет функцию с именем MyType, которую компилятор и так синтезировать не собирался.
      Ответить
      • > MyType& operator=(const MyType*) = delete;
        >> = delete;

        Поясните, что происходит вообще?
        К удалению объекта при присваивании и перегрузке delete это отношения не имеет?
        Ответить
        • Ну очевидно же... Оператору присваивания присвоили оператор удаления. Т.е. при вызове оператора присваивания объект удалится.
          Ответить
          • Кстати, откуда пошло комментарии зелёным выделять? Что-то кроме ГК нигде такого не видел.
            Ответить
            • обычно красненьким принято, а тут, видимо, кто-то решил соргиниальничать в свое время
              Ответить
                  • Давай, давай, а ну, давай,
                    Меня шмонай ты, вертухай,
                    Да загляни под юбочку,
                    Да посмотри на булочки.
                    Понюхай попку носиком,
                    Прикинься, киса, пёсиком,
                    Вот в этом вся и разница,
                    Кто хочет, а кто дразнится.

                    ©Любимая группа мамки админа
                    Ответить
          • >Оператору присваивания присвоили оператор удаления

            У меня мозг сейчас взорвётся.
            Неужели у плюсовика сама фраза не вызывает никакого диссонанса?
            Ответить
        • Функция с именем MyType, которая принимает MyType const& и возвращает MyType&
          > которую компилятор и так синтезировать не собирался.

          Кто-то криво отредактировал скопипасченное, должно быть
          MyType(const MyType&) = delete;
          Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8