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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
template <typename T> struct Rect : public ICollidable<T>  {
            T top, left, width, height;
...
            Rect(T _top, T _left, T w, T h)
            : top(_top)
            , left(_left)
            , width(w)
            , height(h)
            {};
...
};

Не расслабляемся: естественный порядок аргументов - это для ламеров!

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

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

  • Разве C++ поддерживает наследование структур? Я думал это только ООП для классов.
    Ответить
    • С++ вообще всё поддерживает. Жаль, что иногда через задницу.
      Ответить
    • В С++ структуры (struct) и классы (class) взаимозаменяемы. Разница только в спецификаторе доступа по умолчанию. В структурах все члены открытые, в классе - закрытые.
      Ответить
    • В С++ нет никаких "структур". В С++ есть только классы. `class`, `struct` и `union` - альтернативные способы объявления классов.
      Ответить
  • в матбиблиотеке иррлихта, функции которым нужен угол в некоторых случаях принимают его в радианах а в остальных в градусах... иногда бывает весело отлаживать...
    Ответить
    • В библиотеке FreeType ещё веселее: одно и то же поле в структуре, в зависимости от контекста, используется либо как Fixed 16:16, либо как Fixed 26:6. Чтобы определить, что именно передавать в очередную функцию (или что именно она тебе только что вернула), приходится вдумчиво курить мануалы и много гадать на кофейной гуще.
      Ответить
  • мне вот интересно, зачем в Rect добавлять IColidable?
    прямоугольник он вроде бы как сам по себе...
    Ответить
    • Это, видимо, из двухмерной игры. Какие-нибудь какашки бегуют по экрану и сталкиваются друг с другом. Rect, видимо, предок всех этих какашек. Неправильное название дали для класса. Нужно было назвать ShitParent, ShitAbstract, ShitBase или как-то так. Хотябы ShitRect...
      Ответить
      • Если бы сталкивались... здесь всё гораздо гениальнее: ICollidable используется для проверки попадания точки на экране в прямо- или многоугольник. Проще говоря, для кликанья по кнопкам.

        А насчёт ShitRect - так там уже была где-то переменная m_fuckingSheet или что-то вроде того...

        Главное, оптимально-то как! На инициализации нулями сэкономили, зато на виртуальной таблице отыгрались. Математика-с.
        Ответить

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

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

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


    8