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

    +17

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    struct c_log
    {
      template<typename T> const c_log& operator << (const T& value)
      {
          //...
      }
    };
    
    template<> const c_log& c_log::operator << <p_wstr> (const p_wstr& value)
    {
      fwrite(value, sizeof(wchar_t), wcslen(value), log_file);
      return *this;
    }

    Запостил: LispGovno, 25 Июля 2013

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

    • Оттуда. <> <>
      Ответить
      • Это такие квадратные глаза прозревшей крестобляди, которая с ужасом смотрит на С++?
        Ответить
        • Может багор от смайликов из шаблонов?
          template <> TResult<> f();

          (_o_)
          Ответить
        • +_+
          Ответить
          • О-о-о. Ну теперь понятно какие приплюснутые глаза иметь чтобы читать этот код.Другие просто-напросто выпадут.
            Ответить
    • Хм, эти операторы возвращают const ссылку, а сами при этом не помечены как const... Т.е. цепочки в духе log << a << b из них уже не построить...

      Вывод юникодной строки "как есть" тоже доставил. Чем потом это читать, если половина лога будет в однобайтовой кодировке, а половина в джвухбайтовой под виндой и четырехбайтовой под линем? ;)

      P.S. Числа в этот лог тоже выводятся прямо в бинарном виде? :)
      Ответить
    • чем template specialization тут удобней overload?
      один геморрой
      Ответить
      • Ну и чем оно удобнее? Просто писать меньше.
        Ответить
        • > Просто писать меньше.
          Если можно писать меньше, то зачем писать больше? А преимуществ от специализации в этом примере я что-то не замечаю.
          Ответить
    • Как я обожаю наши методички по лабам C++!
      "Это винтик, это отвертка, винтик можно крутить отверткой. Это всякие железяки, их можно соединять винтиками, закрутив отверткой. Еще бывают гайки и шестеренки.
      Задание:
      Постройте синхрофазотрон." (c)
      Ответить

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