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

    +50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    else if ( pTemp->flags & FTENT_SPIRAL )
    			{
    				float s, c;
    				s = sin( pTemp->entity.baseline.origin[2] + fastFreq );
    				c = cos( pTemp->entity.baseline.origin[2] + fastFreq );
    
    				pTemp->entity.origin[0] += pTemp->entity.baseline.origin[0] * frametime + 8 * sin( client_time * 20 + (int)pTemp );
    				pTemp->entity.origin[1] += pTemp->entity.baseline.origin[1] * frametime + 4 * sin( client_time * 30 + (int)pTemp );
    				pTemp->entity.origin[2] += pTemp->entity.baseline.origin[2] * frametime;
    			}

    entity.cpp из cl_dlls от xash. Предположительно унаследовано от half-life sdk. На 64 битах сборка разумеется падает.
    Что они пытались сделать?
    За запихивание указателя под синус имхо надо запихивать указатель в анус.

    mittorn, 15 Января 2015

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

    +54

    1. 1
    ((Dialog*)parent)->getSquareStorage()->at(((Dialog*)parent)->getSquareStorage()->size() / 2)->setColor(0,0,0);

    Qt. Я естественно сразу же переписал этот шлак

    artembegood, 15 Января 2015

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

    +54

    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
    // Блок кода с выходом по break
    #define BLOCK for (int _count = 1; _count--;)
    
    bool Result::commit()
    {
    	BLOCK {
    		mysql_query(db->mysql, "BEGIN");
    
    		if (!saveBasePart())
    			break;
    
    		if (getCategory() != NULL) {
    			if (!saveCustomValues())
    				break;
    		}
    
    		mysql_query(db->mysql, "COMMIT");
    		return true;
    	}
    
    	mysql_query(db->mysql, "ROLLBACK");
    	return false;
    }

    hdkeeper, 14 Января 2015

    Комментарии (20)
  4. 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)
  5. 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)
  6. 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)
  7. C++ / Говнокод #17419

    +51

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

    http://rextester.com/NQVDP75721

    LispGovno, 08 Января 2015

    Комментарии (24)
  8. 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)
  9. 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)
  10. 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)