1. C++ / Говнокод #24199

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    struct Bar {};
    
    class Foo {
    public:
        Bar& bar() const { return *bp; }
    
    private:
        Bar b;
        Bar * const bp = &b;
    };

    https://wandbox.org/permlink/7JPzrvslrUwbvREb

    Как называется данный говнопаттерн?

    Запостил: Elvenfighter, 27 Апреля 2018

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

    • mutable recall
      Ответить
    • "Ебля с указателями"?
      Не вкуриваю, чем это лучше банального
      Bar& bar() const { return const_cast<Bar&>(b); }
      .
      Шо то говно, шо это...
      Ответить
      • это чтоб копирование или мув приводили к UB
        Ответить
        • ... ну если запилить соответствующие ко-ко-конструкторы и операторы, то может быть и норм в этом плане. Только лишние байты указателя свисать будут.
          Ответить
    • Паттерн "наеби полицейского"? Типа, небезопасные касты нельзя по правилам кодирования, а так - проходит.
      Ответить

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