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

    +1

    1. 1
    file:///C:/Users/сергейкомп/Desktop/проекты/desktopui_framework/src/core/formloader.cpp

    govnokoduser2000, 27 Апреля 2020

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

    +1

    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
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    CStringUtf8::iterator& CStringUtf8::iterator::operator++() 
    { 
        m_ptr += CCharUtf8Ref::s_bytesForUTF8Sequence[*m_ptr]; 
        return *this;
    }
    
    CStringUtf8 CStringUtf8::subString( size_t startChar, size_t count ) const
    {
        iterator start = this->begin();
        while( start!=this->end() && startChar>0 )
        {
            start++;
            startChar--;
        }
    
        iterator afterLast = start;
        while( afterLast!=this->end() && count!=0 )
        {
            afterLast++;
            count--;
        }
        return CStringUtf8( start.c_ptr(), afterLast.c_ptr() );
    }
    
    CStringUtf8::iterator CStringUtf8::findSubString( CStringUtf8 const& sample, CStringUtf8::iterator startFrom ) const
    {
        CStringUtf8::iterator pos = startFrom;
        CStringUtf8::iterator foundPos = pos;
        CStringUtf8::iterator samplePos = sample.begin();
    
        for( ;; )
        {
            if( samplePos==sample.end() )
                return foundPos;
    
            if( pos==this->end() )
                return this->end();
    
            if( *samplePos == *pos )
            {
                if( samplePos==sample.begin() )
                    foundPos = pos;
                samplePos++;
                pos++;
            }
            else
            {
                if( samplePos==sample.begin() )
                    pos++;
                samplePos = sample.begin();
            }
        }
    }
    
    std::vector<CStringUtf8> CStringUtf8::componentsSeparatedByString( CStringUtf8 const& separator ) const
    {
        std::vector<CStringUtf8> comps;
    
        size_t sepLen = std::distance( separator.begin(), separator.end() );
        size_t startPos = 0;
        CStringUtf8::iterator itStart = begin();
    
        if( sepLen > 0 )
        {
            CStringUtf8::iterator itEnd;
            while( ( itEnd = findSubString( separator, itStart ) ) != end() )
            {
                size_t cnt = std::distance( itStart, itEnd );
                CStringUtf8 str = subString( startPos, cnt );
                comps.push_back( str );
    
                itStart = itEnd;
                std::advance( itStart, sepLen );
    
                startPos += cnt + sepLen;
            }
        }
    
        size_t cnt = std::distance( itStart, end() );
        if( cnt > 0 )
        {
            CStringUtf8 str = subString( startPos, cnt );
            comps.push_back( str );
        }
    
        return comps;
    }

    Привычный для всех плюсовиков велосипед по работе со строкой (походу свой в каждом проекте).
    Более 10 лет не замечали тормоза в componentsSeparatedByString, который 100 Кб текст разбирал на строки за 5-10 сек (!!!).

    jojaxon, 26 Апреля 2020

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

    +1

    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
    char *CHudTextMessage::LocaliseTextString( const char *msg, char *dst_buffer, int buffer_size )
    {
    	char *dst = dst_buffer;
    	for ( char *src = (char*)msg; *src != 0 && buffer_size > 0; buffer_size-- )
    	{
    		if ( *src == '#' )
    		{
    			// cut msg name out of string
    			static char word_buf[255];
    			char *wdst = word_buf, *word_start = src;
    			for ( ++src ; *src >= 'A' && *src <= 'z'; wdst++, src++ )
    			{
    				*wdst = *src;
    			}
    			*wdst = 0;

    Тут недавно слили исходники «Team Fortress 2» и «Counter Strike: Global Offense» — и в соответствующих местах начался вой игроков: кошмар, мы все умрём, нас всех взломают!

    gost, 23 Апреля 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    auto srv = http::Server::create(
        JsClosure::create([] (JsArray::Ptr args) {
            auto res = args->getPtr<http::ServerResponse>(1);
            res->setHeader(http::HEADER_CONTENT_TYPE, str("text/plain"));
            res->end(str("Hello World\n"));
            return UNDEFINED;
        }));
    srv->listen(1337, str("127.0.0.1"));
    node::run();

    https://github.com/plenluno/libnode
    Что если взять два говна (плюсы и js) и сделать свою ноду? Получится этот высер с потугами на embedded.
    Неосилятор? Или переосилятор?

    jojaxon, 20 Апреля 2020

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

    0

    1. 1
    2. 2
    3. 3
    char* szOwnedData = reinterpret_cast <char*> (m_bOwner && szData != NULL ?
                                                                  realloc (szData, nLength + 1) :
                                                                  malloc (nLength + 1));

    Ha ha, classic.

    codemonkey, 13 Апреля 2020

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

    0

    1. 1
    2. 2
    https://upload.wikimedia.org/wikipedia/commons/0/0e/Bjarne-stroustrup_%28cropped%29.jpg
    https://cdn.jpg.wtf/futurico/cb/3e/1586622557-cb3e3c00a16ab8b849e9464c1e3037ea.jpeg

    Шок! Рецепты защиты от коронавируса, от создателя языка C++. Надо всего лишь...

    j123123, 13 Апреля 2020

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

    0

    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
    #include <iostream>
    #define __L_SDM_SUB_4 4
    #define __L_SDM_DEL 1
    #define A int
    #define B void
    #define C char
    #define D *
    A _L_HND[-~__L_SDM_SUB_4] = {1819043146, 1998597229, 1684828781, 35, 0};
    
    A main(B) 
    {
      A D __L_LOCAL_BUF = new A[__L_SDM_SUB_4];
    
      for(
        _L_HND[__L_SDM_SUB_4] ^= 
        _L_HND[__L_SDM_SUB_4]; 
              _L_HND[__L_SDM_SUB_4] <
              __L_SDM_SUB_4; 
              _L_HND[__L_SDM_SUB_4] = 
              -~_L_HND[__L_SDM_SUB_4])
        {
        __L_LOCAL_BUF[
          _L_HND[__L_SDM_SUB_4]] = _L_HND[_L_HND[__L_SDM_SUB_4]] ^ 
        (__L_SDM_DEL << __L_SDM_DEL);
        }
        
      std::cout << (C D)__L_LOCAL_BUF << std::endl;
    }

    Я рехнулся и написал HelloWorld

    digitalEugene, 28 Марта 2020

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void clear_qouted_string(std::string& str)
    {
        if (str.front() == '"')
        {
            str.erase(0, 1);
        }
        if (str.back() == '"')
        {
            str.erase(str.end() - 1);
        }
    }

    OlegUP, 24 Марта 2020

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

    +2

    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
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    // https://shitcode.net/557
    
    int getChar(char charachter){
     int returnValue = Z;
     switch(charachter){
      case 'A': returnValue = A; break;
      case 'a': returnValue = A; break;
      case 'B': returnValue = B; break;
      case 'b': returnValue = B; break;
      case 'C': returnValue = C; break;
      case 'c': returnValue = C; break;
      case 'D': returnValue = D; break;
      case 'd': returnValue = D; break;
      case 'E': returnValue = E; break;
      case 'e': returnValue = E; break;
      case 'F': returnValue = F; break;
      case 'f': returnValue = F; break;
      case 'G': returnValue = G; break;
      case 'g': returnValue = G; break;
      case 'H': returnValue = H; break;
      case 'h': returnValue = H; break;
      case 'I': returnValue = I; break;
      case 'i': returnValue = I; break;
      case 'J': returnValue = J; break;
      case 'j': returnValue = J; break;
      case 'K': returnValue = K; break;
      case 'k': returnValue = K; break;
      case 'L': returnValue = L; break;
      case 'l': returnValue = L; break;
      case 'M': returnValue = M; break;
      case 'm': returnValue = M; break;
      case 'N': returnValue = N; break;
      case 'n': returnValue = N; break;
      case 'O': returnValue = O; break;
      case 'o': returnValue = O; break;
      case 'P': returnValue = P; break;
      case 'p': returnValue = P; break;
      case 'Q': returnValue = Q; break;
      case 'q': returnValue = Q; break;
      case 'R': returnValue = R; break;
      case 'r': returnValue = R; break;
      case 'S': returnValue = S; break;
      case 's': returnValue = S; break;
      case 'T': returnValue = T; break;
      case 't': returnValue = T; break;
      case 'U': returnValue = U; break;
      case 'u': returnValue = U; break;
      case 'V': returnValue = V; break;
      case 'v': returnValue = V; break;
      case 'W': returnValue = W; break;
      case 'w': returnValue = W; break;
      case 'X': returnValue = X; break;
      case 'x': returnValue = X; break;
      case 'Y': returnValue = Y; break;
      case 'y': returnValue = Y; break;
      case 'Z': returnValue = Z; break;
      case 'z': returnValue = Z; break;
      case ' ': returnValue = _; break;
      case '3': returnValue = B2; break;
      case '<': returnValue = TEMP; break;
      case '*': returnValue = FULL; break;
      case '|': returnValue = LINE; break;  
      case '_': returnValue = _; break;  
      case ':': returnValue = COL; break;  
      case '-': returnValue = DASH; break;  
      case ')': returnValue = BRA2; break;  
      case '%': returnValue = SMILE; break;  
      case '.': returnValue = DOT; break;    
      case '^': returnValue = COLDOT; break;      
      }
      return returnValue; //RETORNO DE INFORMAÇÃO
    }

    Тут IsBukva до getChar допромоутили

    Fike, 10 Марта 2020

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

    +5

    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
    #include <stdio.h>
    #define UPP 300
    float conversion(float fahr);
    
    main(){
    	float far;
    	int a;
    	a = UPP;
    	for(far = 0; far <= a; ++++++++++++++++++++++++++++++++++++++++far)
    		printf("%.f\t%.1f\n", far, conversion(far));
    }
    
    float conversion(float cels){
    	float c;
    	c = ((5*(cels-32))/(9));
    	return c;
    }

    how do I make it 20 by 20 in a shorter way, without having to put 20 times "++" please

    https://www.reddit.com/r/C_Programming/comments/ff5zph/how_do_i_make_it_20_by_20_in_a_shorter_w ay/

    eukaryote, 08 Марта 2020

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