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

    +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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    cKeyCfg::types_t cConfiguration::SearchInType(string type)
    {
        CTint i = 0;
        const CTbyte * types[] = { "S", "D" };
    
        for(i = 0; i < sizeof(types)/sizeof(types[0]); i++) {
          if ( strcmp(type.c_str(),types[i]) == 0) {
            switch (i) {
            case 0: // Is string
              return cKeyCfg::stringa;
            case 1: // Is decimal
              return cKeyCfg::decimale;
            default: //Default value VT_BSTR
              return cKeyCfg::unknow;
            }
          }
        }
        return cKeyCfg::unknow;
    }

    сделано на родине Fiat'а.

    Dummy00001, 02 Мая 2014

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

    +15

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    tblib::operator << (s, curVersion);
    tblib::operator << (s, indPlayer);
    tblib::operator << (s, indDiamond);
    tblib::operator << (s, indDisk);
    tblib::operator << (s, indExit);
    tblib::operator << (s, indDust);

    Нельзя просто взять, и написать
    s << curVersion << indPlayer << indDiamond << indDisk << indExit << indDust;
    потому что глючный крестоблядский крестокомпилятор (MSVS-03) не может выбрать нужную крестоперегрузку.
    "Сразу записать инт, или сначала кастануть его к жопе и записать жопу?"

    TarasB, 01 Мая 2014

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

    +63

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    template <typename T>
    void function_name(T &&data)
    {
        static_assert(std::is_rvalue_reference<decltype(data)>::value, "data must be rvalue");
        // ...
    }

    Все лишнее убрано

    Setry, 30 Апреля 2014

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

    +59

    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
    #include <iostream>
    using namespace std;
    
    int main()
    {
        setlocale(0, "");
        int a, b;
        cout << "Vvedite pervoe chislo: ";
        cin >> a;
        cout << "Vvedite vtoroe chislo: ";
        cin >> b;
        int c, d, e, f, h;
        cout << "Vvedite gelaemuy operaciu: ";
        cin >> c, d, e, f;
        if (c)
        {
            h = a + b;
        }
        else
        {
            if (d)
            {
                h = a - b;
            }
            else
            {
                if (e)
                {
                    h = a * b;
                }
                else
                {
                    if (f)
                    {
                        h = a / b;
                    }
                }
            }
        }
        cout << "Rezultat: " << h << endl;
        return 0;
    }

    jkhne4pijgberg, 29 Апреля 2014

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

    +90

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    const struct TExceptionSafety {
                TQueue& _queue;
                ::std::condition_variable& _pushToQueue;
                ~TExceptionSafety(){
                    if(!this->_queue.empty())
                        this->_pushToQueue.notify_one();
                }
            } exceptionSafety = {_queue, _pushToQueue};//Use BOOST_SCOPE_EXIT, Luke!

    laMer007, 23 Апреля 2014

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

    +66

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int array[100];    
    //~=//=~
    for(i=0;i<100;++i)
    {   
        if(array[i] != 0) continue; 
        break;
    }

    Код ужасно упрощен, но смысл передан полностью. Как я такое написал хз.

    Rofl113, 23 Апреля 2014

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

    +68

    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
    #include <iostream>
    
    using namespace std;
    
    unsigned ololo_div(unsigned what, unsigned by) {
        unsigned cnt=0;
        while( what>by ) {
            what-=by;
            cnt++;
        }
        if( what==0 ) cnt++;
        return cnt;
    }
    
    int main() {
        cout << ololo_div(10,0) << endl;
        return 0;
    }

    "че там делить то)))"

    http://codepad.org/nL06uX2s

    Elvenfighter, 23 Апреля 2014

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    QSqlQuery my_query;
    my_query.prepare(
              QString("INSERT INTO table1 (number, address, age) VALUES (%1, '%2', %3);")
                              .arg(fromInput1).arg(fromInput2).arg(fromInput3)
              );

    Жаль, но похоже автор не осилил экранирование от SQL-иньекций.

    LispGovno, 19 Апреля 2014

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

    +70

    1. 1
    qDebug() << QString("%1-%2").arg("%1").arg("foo");

    LispGovno, 19 Апреля 2014

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    auto val = map_.at(std::distance(map_.begin(),
    	std::min_element(map_.begin(), map_.end(), [](std::vector<int> a, std::vector<int> b)
    	{
    		return b.at(std::distance(b.begin(), std::min_element(b.begin(), b.end()))) > a.at(std::distance(a.begin(), std::min_element(a.begin(), a.end())));
    	})));
    
    return val.at(std::distance(val.begin(), std::min_element(val.begin(), val.end())));

    Разыменование итератора для слабаков!

    runewalsh, 18 Апреля 2014

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