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

    +154

    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
    #include <iostream>
    #include <stdio.h>
     
    void foo(const long) { std::cout << "long" << std::endl; }
     
    template<typename _type_>
    void omg()
    {
            short i = 0;
            foo(i);
    }
     
    void foo(const short) { std::cout << "short" << std::endl; }
     
    int main(int, char*[])
    {
      omg<int>();
     
      getchar();
      return 0;
    }

    код для гцц -> http://ideone.com/mifTV

    вопрос, что выдаст говностудия?

    связанно с тем, что говностудия не ищет независимые типы использованные в шаблоне на этапе определения. она их ищет только в точке конкретизации шаблона. гцц связывает независимые типы в шаблоне на этапе определения шаблона

    З.Ы. ответ на http://govnokod.ru/9885#comment134160

    Govnoeb, 09 Апреля 2012

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

    +194

    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
    if(!menu_font||!oboima_text||!info||!infoR||!infoD||!infoBR||
          !oblaka1_tex||!fon1_tex||!fon2_tex||!fon3_tex||
          !galka_tex||!galka_menu_tex||!strelka_menu_tex||!strelka_menu_D_tex||
          !znak_myasnik_tex||!znak_strelok_tex||!znak_razrushitel_tex||!znak_tehnik_tex||
          !status_opit_tex||!status_udar_tex||!status_status_tex||!opit_okno_vibora_tex||
          !okno_lvl_progress_tex||!okno_lvl_progress_red_tex||!okno_lvl_progress_green_tex||!okno_lvl_polzunok_tex||
          !snd||!ak_reload1||!ak_reload2||!pm_fire||!pm_reload1||!pm_reload2||
          !pp19_fire||!pp19_reload1||!pp19_reload2||!fn_f2000_fire||!tt_fire||
          !mac_fire||!mac_reload1||!mac_reload2||!webley_fire||!webley_reload1||!webley_reload2||!milkor_fire||
          !fn_five_seven_fire||!winch_fire||!drob_reload1||!drob_pompa||!vzriv_grena1||
          !rocket_fire||!rocket2_fire||!rocket_polet||!rocket2_polet||
          !myaso_upalo1||!myaso_upalo2||!myaso_upalo3||!myaso_upalo4||!myaso_upalo5||!myaso_upalo6||!myaso_upalo7||
          !myaso_upalo8||
          !myaso_razriv_user1||!myaso_razriv_user2||
          !menu_sound||!menu_choose||
          !shot1||!headshot1||!headshot2||!headshot3||!headshot4||!headshot5||!headshot6||!headshot7||!headshot8||
          !ssik1||!ssik2||!ssik3|!ssik4||
          !ptenec_death1||
          !ak||!ak2||!ak_upgraded||!ak2_upgraded||!w_pm_tex||!w_pp19_vityaz_tex||!w_fn_f2000_tex||!w_fn_f2000_upgraded_tex||
          !w_tt_tex||!w_rpk_tex||!w_mac_tex||
          !w_winchester_tex||!w_winchester_anime_tex||!w_rpk47_tex||!w_glok_tex||!w_glok2_tex||!w_rgd5_tex||!w_milkor_tex||
          !w_panzer_tex||!w_panzer_out_tex||!w_webley_tex||!w_fn_five_seven_tex||!w_granata_podstvol_tex||!w_granata_panzer_tex||
          !w_qlz87_pushka_tex||!w_qlz87_trenoga_tex||!katana_udar_sleva_tex||
          !blood1_tex||!blood2_tex||!blood3_tex||!blood_shot1_tex||
          !blood_plyam1_tex||!blood_plyam2_tex||!blood_plyam3_tex||!blood_luzha1_tex||
          !blood_myaso1_tex||!blood_myaso2_tex||!blood_myaso3_tex||!blood_myaso4_tex||!blood_myaso5_tex||
          !blood_zayac_noga1_tex||!blood_zayac_noga2_tex||!blood_zayac_noga3_tex||!blood_zayac_noga4_tex||
          !blood_zayac_rebra1_tex||!blood_zayac_rebra2_tex||
          !blood_vzriv1_a_tex||!blood_vzriv1_b_tex||!blood_vzriv1_c_tex||!blood_vzriv1_d_tex||!blood_vzriv1_e_tex||
          !blood_vzriv1_e2_tex||
          !player1_myasnik_gogranata_ruka1_tex||!player1_myasnik_gogranata_ruka2_tex||
          !player1_strelok_gogranata_ruka1_tex||!player1_strelok_gogranata_ruka2_tex||
          !player1_razrushitel_gogranata_ruka1_tex||!player1_razrushitel_gogranata_ruka2_tex||    
          !player1_tehnik_gogranata_ruka1_tex||!player1_tehnik_gogranata_ruka2_tex||
          !player1_myasnik_tex||!player1_strelok_tex||!player1_razrushitel_tex||!player1_tehnik_tex||
          !player1_myasnik_ruka1_udar_sleva_tex||!player1_strelok_ruka1_udar_sleva_tex||
          !player1_razrushitel_ruka1_udar_sleva_tex||!player1_tehnik_ruka1_udar_sleva_tex||
          !player1_myasnik_ruka1_pistol_tex||!player1_strelok_ruka1_pistol_tex||
          !player1_razrushitel_ruka1_pistol_tex||!player1_tehnik_ruka1_pistol_tex||
          !player1_myasnik_ruka1_vintovka_tex||!player1_strelok_ruka1_vintovka_tex||
          !player1_razrushitel_ruka1_vintovka_tex||!player1_tehnik_ruka1_vintovka_tex||
          !player1_myasnik_ruka1_winch_tex||!player1_strelok_ruka1_winch_tex||
          !player1_razrushitel_ruka1_winch_tex||!player1_tehnik_ruka1_winch_tex||
          !player2_strelok_tex||!player2_gogranata_ruka1_tex||!player2_gogranata_ruka2_tex||
          !player2_strelok_ruka1_udar_sleva_tex||!player2_strelok_ruka1_vintovka_tex||!player2_strelok_ruka1_pistol_tex||
          !zayac_go_tex||!zayac_uhi_k_tex||!zayac_uhi_s_tex||!zayac_uhi_tex||
          !zayac_boshka_tex||!zayac_boshka_bezuh_tex||
          !volk_go_tex||!volk_trup1_a_tex||!volk_trup1_b_tex||!volk_trup1_c_tex||
          !medved_go_tex||!medved_boshka1_tex||

    http://www.gamedev.ru/projects/forum/?id=160897
    ЩИ!!!! ЗАЛЕЙ ВЕСЬ ЭКРАН КРОВЬЮ УВИДЕВ ИСХОДНЫЙ КОД

    TarasB, 09 Апреля 2012

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

    +169

    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
    #define AS_STRING2(ARG) #ARG
    #define AS_STRING(ARG) AS_STRING2(ARG)
    
    #define PORT 5473
    		const uint16_t g_config_port=PORT;
    		const std::string g_config_port_string=AS_STRING(PORT);
    #undef PORT
    
    #define PORT 5474
    		const uint16_t g_request_port=PORT;
    		const std::string g_request_port_string=AS_STRING(PORT);
    #undef PORT
    
    #define PORT 5475
    		const uint16_t g_response_port=PORT;
    		const std::string g_response_port_string=AS_STRING(PORT);
    #undef PORT
    
    #undef AS_STRING
    #undef AS_STRING2

    Чувак нереально любит препроцессор, что говорит от том, что даже Страуструпа не читал.

    gvy, 06 Апреля 2012

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

    +156

    1. 1
    2. 2
    bool addSomeValue;
    int percentage = 100 + addSomeValue ? 10 : 0;

    infog, 06 Апреля 2012

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

    +161

    1. 1
    ReceiveManager* getReveiceManager() { return (receiveManager == 0 ? 0 : receiveManager); }

    eqltv, 05 Апреля 2012

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #ifdef Status // we seem to pick up a macro Status --> int somewhere
    #undef Status
    #endif
    
    ...
    
        enum Status {

    Где-то мы макрос подхватили. qsettings.h

    Steve_Brown, 04 Апреля 2012

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void convert_bglfile(std::string infile, std::string source_charset, std::string target_charset)
    {
        std::string outfile;
        const char *p = infile.c_str();
        const char *p1 = strrchr(p, '.');
        if (p1) {
            outfile.assign(p, p1-p);
        } else {
            outfile = infile;
        }
    ...

    Из опенсорсного словаря StarDict. Товарисч на форуме написал, что не комилируется - не иклюдился cstring. А там такое :o

    myaut, 03 Апреля 2012

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

    +146

    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
    else
                        {
                          if(cells[i][j-1].label == 1)
                          {
                            cells[i][0].label = 2;
                            cells[i][0].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i-1][j].label == 1)
                          {
                            cells[0][2].label = 2;
                            cells[0][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i-1][j-1].label == 1)
                          {
                            cells[0][0].label = 2;
                            cells[0][0].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }

    часть 4 полный код можно посмотреть на http://www.gamedev.ru/projects/forum/?id=160346&page=2

    dani4, 01 Апреля 2012

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

    +142

    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
    else
                    {
                      if(i == 0)
                      {
                        if(j == 0)
                        {
                          if(cells[i][j+1].label == 1)
                          {
                            cells[i][2].label = 2;
                            cells[i][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j].label == 1)
                          {
                            cells[2][j].label = 2;
                            cells[2][j].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j+1].label == 1)
                          {
                            cells[2][2].label = 2;
                            cells[2][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }
                        }else if(j == 1)
                        {
                          if(cells[i][j-1].label == 1)
                          {
                            cells[i][2].label = 2;
                            cells[i][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j].label == 1)
                          {
                            cells[2][j].label = 2;
                            cells[2][j].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i][j+1].label == 1)
                          {
                            cells[0][0].label = 2;
                            cells[0][0].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }
                        }else
                        {
                          if(cells[i][j-1].label == 1)
                          {
                            cells[i][0].label = 2;
                            cells[i][0].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j].label == 1)
                          {
                            cells[2][2].label = 2;
                            cells[2][2].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }else if(cells[i+1][j-1].label == 1)
                          {
                            cells[2][0].label = 2;
                            cells[2][0].empty = false;
                            playerIsTurn = true;
                            numTurns++;
                          }
                        }
                      }else if(cells[i-1][j].label == 1)

    часть 3 полный код можно посмотреть на http://www.gamedev.ru/projects/forum/?id=160346&page=2

    dani4, 01 Апреля 2012

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

    +141

    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
    else if(numTurns != 1)
          {
            {
              for(int i = 0; i < 3; i++)
              {
                for(int j = 0; j < 3; j++)
                {
                  if(cells[i][j].label == 1)
                  {
                    if(i == 1 && j == 1)
                    {
                      if(cells[i][j-1].label == 1)
                      {
                        cells[i][j+1].label = 2;
                        cells[i][j+1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i][j+1].label == 1)
                      {
                        cells[i][j-1].label = 2;
                        cells[i][j-1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i-1][j].label == 1)
                      {
                        cells[i+1][j].label = 2;
                        cells[i+1][j].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i+1][j].label == 1)
                      {
                        cells[i-1][j].label = 2;
                        cells[i-1][j].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i-1][j-1].label == 1)
                      {
                        cells[i+1][j+1].label = 2;
                        cells[i+1][j+1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i-1][j+1].label == 1)
                      {
                        cells[i+1][j-1].label = 2;
                        cells[i+1][j-1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i+1][j+1].label == 1)
                      {
                        cells[i-1][j-1].label = 2;
                        cells[i-1][j-1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }else if(cells[i+1][j-1].label == 1)
                      {
                        cells[i-1][j+1].label = 2;
                        cells[i-1][j+1].empty = false;
                        playerIsTurn = true;
                        numTurns++;
                      }
                    }

    часть 2

    dani4, 01 Апреля 2012

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