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

    +20

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    template<class T> 
    void FuncSmth(T value) 
    { 
      if(typeid(T) == typeid(int)) 
          FuncInt(value); 
      else if(typeid(T) == typeid(char*)) 
          FuncCharPtr(value); 
    }

    Оттуда

    Запостил: falsting, 06 Августа 2013

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

    • и коментарий - нахуй перегрузку!
      Ответить
      • И специализацию шаблонов туда же за компанию :)
        Ответить
    • Не скомпилируется же.
      template<class T> 
      void FuncSmth(T value) 
      { 
        if(typeid(T) == typeid(int)) 
            FuncInt(*((*int)&value)); 
        else if(typeid(T) == typeid(char*)) 
            FuncCharPtr(*((char**)&value)); 
      }
      Ответить
      • Скомпилируется же
        template<typename T>
        void FuncInt(T int_value)
        {
        //do int shit
        }
        
        template<typename T>
        void FuncCharPtr(T char_ptr_value)
        {
        //do char * shit
        }
        Сишные касты в плюсовом коде? ГРЕШНОВАТО!
        Ответить
    • Это C++
      Ответить
      • Мутировавший "Где здесь С++?!"-guest.
        C той разницей что тот спрашивал, этот утверждает.
        Ответить

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