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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Element* pElt = Panel->pElement;
if (!pElt && pElt == reinterpret_cast<Element*>(0xFEEEFEEEi64))
{
	return 0;
}

Как наверняка узнать, что указатель не нулевой.

Запостил: yog_muskrat yog_muskrat, (Updated )

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

  • Сколько времени должно пройти чтобы придумали var/auto? В жабе до сих пор не осилили.
    Ответить
    • Тогда бы мы предположили что это перегрузили operator! или operator==
      Ответить
      • Наверное потому же, почему не дают перегрузку операторов. Видимо "самый главный" у них упоротый.
        Ответить
        • в джаве есть перегрузка операторов

          у класса String перегружен плюс
          Ответить
      • потому что дебилы

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

        Такие смешные, как ПХПшники
        Ответить
      • круто! Всего лет на десять опоздали. Это в C# уже в тройке было.
        ну а про функциональные ЯПы я вообще молчу
        Ответить
  • Что-то мне намекает, что gcc просто выкинет всё это говно...

    З.Ы. Или это какой-то особый компилятор, где NULL == 0xFEEEFEEE?
    Ответить
    • > Или это какой-то особый компилятор, где NULL == 0xFEEEFEEE?

      да. новая одноименная альтернатива gcc: Govno Crap Compiler.
      Ответить
    • Подозреваю, что значением 0xFEEEFEEE заполняется память в куче при освобождении (как бы FREE FREE).
      Видимо, код обрабатывает случай, когда Panel была удалена.
      М-да.

      Edit: ах да, так же не ||
      Ответить
    • >>по другому не работало
      я всегда так говорю.

      Меня спрашивают: "зачем ты написал вот эти четыре нелогичные ифа и захардкодил сюда 42?"
      А я такой: "а чото по-другому не работало"
      Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8