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

0

  1. 1
enum Bool {True = 0, False = (!True)};

Автор: Константин с trinity-core.ru

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

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

  • chaoswithin, а история не умалчивает, ЗАЧЕМ?
    Ответить
  • кому-то очень не хватает настоящего булевого типа в С++, как, например, в джаве....
    Ответить
  • Этот код был приведен в качестве примера там, что так тоже можно, и что можно таким образом вернуть несколько ложных значений.
    Ответить
  • False=(!True) тут нужен чтоб менять местами 0 и 1 одной правкой, а не двумя. Устанавливаешь True, а False автоматически получается наоборот.
    Ответить
    • А ну тогда конечно! Если законы логики вдруг изменятся программу править придётся всего в одном месте )
      Ответить
      • Не законы логики, а представление True и False на конкретной платформе.

        Некоторые конкретные реализации языков программирования используют в качестве True единицу, некоторые — байт или машинное слово, все биты которого установлены (если это слово интерпретировать как знаковое число, то его значение равно минус единице). В обоих случаях False = 0, а True получается инверсией, просто в первом представление логического типа однобитное, а во втором — выровнено по размеру байта/слова.
        Ответить
        • Где здесь некоторые конкретные реализации языков программирования, inkanus-gray?
          Ответить
  • >Передача в функцию
    >При передаче параметров в функции
    >учитывайте такой факт:
    >
    >int Test(int a) {return a*a}
    >
    >так вот если ее вызвать таким образом >Test(5+1);
    >
    >то многие компиляторы посчитают >результат как 5+1*5+1 и получится 11
    >
    >Исправить можно так:
    >int Test(int a) {return (a)*(a)}
    >а еще лучше так:
    >int Test(int a) {return ((a)*(a))}
    ---
    Вот этого нихера не понял
    Ответить
    • Дык гонево же. Автор этих строк мудила и путает макросы с функциями. Хитрости C++, блеать.
      Ответить
      • Конечно, говнево. Автор того треда очень умный и, главное, как он не раз подмечал, начитанный.
        Азбуку он что ли читал.
        Хорошо хоть он не любитель троллить и попросил закрыть тред.
        Ответить
      • >Логические типы по той логике, что в некоторых языках вообще нет типа bool и создать его можно ТОЛЬКО через перечисления, и еще по той логике, что когда у тебя большое условие то завернуть его в скобки и поставить снаружи отрицание только запутает тебя...
        Бля он мне мозг выносит 😀
        Ответить
      • Да хули, автор ничего серьезнее хеллоуворлдов не писал, а уже лезет делиться "хитростями".
        Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8