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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    CleverPtr(const int other) 
      {
        this->~CleverPtr();
        new(this) CleverPtr();
        //operator =(other); 
      }

    Решение крестопроблем в крестостиле гейдевщиков:
    http://ideone.com/wIPzzc

    Запостил: LispGovno, 22 Февраля 2014

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

    • показать все, что скрыто
      Ответить
    • > http://ideone.com/wIPzzc
      А в чем суть? Что-то до меня не доходит, что пытались продемонстрировать на этом примере :(
      Ответить
      • Вызывают делегирующий конструктор вестимо.
        Но чтобы не было утечки ресурсов борются с ней деструктором.
        Ответить
        • Да как-то странно для геймдева. Всегда дротили перфоманс, а тут такое ;)
          Ответить
          • Это моя шутка.
            Автор идеи предлагает не вызывать деструктор.
            http://www.gamedev.ru/flame/forum/?id=186255&page=4#m47
            Ответить
    • Да, насчёт того, что в этот момент левые-то поля уже проинициализируются, а сам-то объект - нет, я не подумал.
      Значит, в том треде отметились говнокодеры, а адосхема рулит.
      Ответить
    • Начинает уже утомлять эта борьба с ветряными мельницами. Вместо того, чтобы принять язык и использовать его идиомы и преимущества, опять страдания, боль, погнутые спицы, ободранная рама и спущенные шины.
      Ответить
    • Похоже на процедуру омоложения: ебануть старый объект и создать новый на том же месте.
      Ответить

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