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

    +23

    1. 1
    2. 2
    if(this==NULL)
      return;

    Запостил: HaskellGovno, 04 Июля 2012

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

    • (с) bormand
      http://ideone.com/2mCis
      Ответить
      • Нравится мне раздел этого сайта, посвященный C++. В нем можно найти такие жемчужины, после которых мой код выглядит узенькой тропинкой на минном поле.
        Ответить
    • Вот как толко народ не извращается в борьбе с ацес вилолайшен.
      Ответить
      • Ага. Лучше ацесс виолейшн, чем скрытый баг. Че с ним бороться...
        Ответить
        • На самом деле тут есть одно но. Я не уверен, что это говнокод. Потому что он используется по другому. Есть некий шаблон интрузивного списка, так вот это кусок кода из функции foreach. Думаю понятно, что если указатель на интрузивный список пуст, то значит и сам список пуст, поэтому list->foreach(functor); должен ни разу не вызвать functor.
          Ответить
          • Ясно, ну тогда логика в этом есть.
            Ответить
          • Ну незнаю, я подобные вещи в стречал в коде где люди пытались спасти прогу от отправления в страну вечной охоты.
            Ответить
    • Фантомный объект.
      Ответить
    • а вот интересно, на каких компиляторах это работать не будет?
      ЗЫ: в дельфях таким образом метод Free у TObject реализован. видимо чтобы можно было вызывать для инициализированных в нулл указателей. Разрыв шаблона был, когда увидел 1-й раз такое.
      Ответить
      • По идее должно на всех, главное не написать это внутри виртуального метода.
        Ответить

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