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

    +51

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    class CHECKSTRUCTURE_API GroupOfDocs : public std::unordered_multimap<std::string, std::shared_ptr<Doc> > // структура, которую клиент заполняет и передает в качестве входных и выходных данных для process. Ключом является имя файла 
    	{
    	public:
    #ifdef _DEBUG
    		virtual ~GroupOfDocs() {};
    #endif

    laMer007, 13 Января 2015

    Комментарии (15)
  2. C++ / Говнокод #17427

    +55

    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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    else if(block->o_type == O_else)
        {
          block->o_type = O_else;
        }
      else if(block->o_type == O_endif)
        {
          block->o_type = O_endif;
        }
      else if(block->o_type == O_break)
        {
          block->o_type = O_break;
        }
      else if(block->o_type == O_continue)
        {
          block->o_type = O_continue;
        }
      else if(block->o_type == O_endwhile)
        {
          block->o_type = O_endwhile;
        }

    Lavir_the_Whiolet, 11 Января 2015

    Комментарии (23)
  3. C++ / Говнокод #17422

    +45

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void Table::DeleteInTable(POINT PF[1])
    {
              int i = 0;
             Rhombus *F = NULL;
             el->element[i]->R->numer == PF; //поиск
             delete el->element[el->Size]->R; //удаление
             el->Size -= 1;
    }

    Код знакомого мне человека. В общем задача такова: написать функцию удаления элемента из таблицы. На вход должен идти ключ (целое число).

    graff195, 08 Января 2015

    Комментарии (0)
  4. C++ / Говнокод #17419

    +51

    1. 1
    auto a = []{return 1;}();

    http://rextester.com/NQVDP75721

    LispGovno, 08 Января 2015

    Комментарии (24)
  5. C++ / Говнокод #17418

    +46

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    extern QString code2text(unsigned long code)
    {
        if (code == 0) return QString::fromUtf8("Операция успешно завершена");
        if (code == 1) return QString::fromUtf8("Неверная функция");
        //over 3400 строк
        return QString("%1").arg(code);
    }

    как это сделать по человечески?
    полная версия https://github.com/kin63camapa/softodrom/blob/master/softodrom/errcodes.cpp

    kin63camapa, 07 Января 2015

    Комментарии (31)
  6. C++ / Говнокод #17416

    +46

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    In file included from ./boost/bind/bind.hpp:29:0,
                     from ./boost/bind.hpp:22,
                     from ./boost/multi_index/sequenced_index.hpp:50,
                     from ./boost/property_tree/ptree.hpp:23,
                     from ./boost/log/utility/setup/settings.hpp:26,
                     from ./boost/log/utility/setup/from_settings.hpp:25,
                     from libs/log/src/init_from_stream.cpp:19:
    ./boost/bind/arg.hpp: In constructor ‘boost::arg<I>::arg(const T&)’:
    ./boost/bind/arg.hpp:37:22: warning: typedef ‘T_must_be_placeholder’ locally defined but not used [-Wunused-local-typedefs]
             typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];

    Выхлоп при компиляции зломерзкого (из-за громоздкости разумеется) boost. Шаблоны такие шаблоны. А всё из-за того, что надо поставить на ix2 deluge т.к встроенная качалка торрентов не умеет качать торренты (там можно только указать ограничение скорости и порты, но добавить torrent или magnet некуда).

    mittorn, 07 Января 2015

    Комментарии (3)
  7. C++ / Говнокод #17410

    +56

    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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    #include <iostream>
    #include <thread>
    #include <list>
    #include <functional>
    #include <chrono>
    using namespace std;
    
    void outputToSomeContainer(int val, list<int>& result){
       result.push_back(val);
    }
    
    class async{
      list<thread> a;
    public:
      async(){}
      async(async&& a): a(move(a.a))
      {}
      void addTask(function<void()>&&f){
        a.emplace_back(move(f));
      }
      void wait(){
        for(auto&& i: a)
          i.join();
      }
    };
    
    async async_O_n_Sort(const list<char>& unsorted, function<void(int)> outputToContainer){
      async a;
      for(int i: unsorted)//O(n)
        a.addTask([i, outputToContainer](){this_thread::sleep_for(chrono::milliseconds(5+i*10));outputToContainer(i);});
      return a;
    }
    
    int main() {
      list<char> unsorted {1, 0, 6, 3, 4};
      list<int> sorted;
      auto a = async_O_n_Sort(unsorted, bind(outputToSomeContainer, placeholders::_1, ref(sorted)));
      cout<<"А мы веселые пельменья, мы похоже на варенья"<<endl;
      a.wait();
      for(int i: sorted)
          cout<<i<<endl;
      return 0;
    }

    Тред:

    http://www.gamedev.ru/flame/forum/?id=196521
    http://coliru.stacked-crooked.com/a/c317bee4dbe183ab

    laMer007, 05 Января 2015

    Комментарии (91)
  8. C++ / Говнокод #17391

    +57

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /* Fix NAN constant for VisualC++. */
       #ifdef _MSC_VER
          #ifndef NAN
              static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
              #define NAN (*(const float *) __nan)
          #endif
       #endif

    ????

    Pythoner, 30 Декабря 2014

    Комментарии (22)
  9. C++ / Говнокод #17387

    +51

    1. 1
    static void operator()(int atan)

    Wat?

    LispGovno, 30 Декабря 2014

    Комментарии (8)
  10. C++ / Говнокод #17378

    +51

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class PrimitiveList : public QList<Primitive>
    {
    public:
        using QList<Primitive>::QList;
    
        PrimitiveList mid(int pos, int length = -1) const
        {
            auto &&list = QList<Primitive>::mid(pos, length);
            return static_cast<PrimitiveList&&>(list);
        }
    };

    Необычное использование move семантики.

    gorthauer87, 26 Декабря 2014

    Комментарии (14)