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

    +162

    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
    /**/
    	TCHAR* szFileType = _T("");
    	int ftype = JGetByte( hContact, "AvatarType", PA_FORMAT_UNKNOWN );
    	if( ftype == PA_FORMAT_UNKNOWN ) {
    		WIN32_FIND_DATA ffd;
    		HANDLE hFind = FindFirstFile( ptszDest, &ffd );
    		if ( hFind != INVALID_HANDLE_VALUE ) {
    			wchar_t* szExt = m_strrchrs( ffd.cFileName, ".\\" );
    			if( szExt ) {
    				if( !_tcsicmp( szExt, _T(".jpg") ) )
    					ftype = PA_FORMAT_JPEG;
    				else if( !_tcsicmp( szExt, _T(".png") ) )
    					ftype = PA_FORMAT_PNG;
    				else if( !_tcsicmp( szExt, _T(".gif") ) )
    					ftype = PA_FORMAT_GIF;
    				else if( !_tcsicmp( szExt, _T(".bmp") ) )
    					ftype = PA_FORMAT_BMP;
    				if( ftype != PA_FORMAT_UNKNOWN )
    					JSetByte( hContact, "AvatarType", ftype );
    			}
    			FindClose( hFind );
    		}
    	}
    	switch( ftype ) {
    		case PA_FORMAT_JPEG: szFileType = _T("jpg");   break;
    		case PA_FORMAT_PNG:  szFileType = _T("png");   break;
    		case PA_FORMAT_GIF:  szFileType = _T("gif");   break;
    		case PA_FORMAT_BMP:  szFileType = _T("bmp");   break;
    	}

    http://infium.googlecode.com/svn/trunk/Jabber/jabber_misc.cpp

    bot-minurast, 03 Ноября 2011

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

    +1011

    1. 1
    #define RETURN_OR_THROW_EXCEPTION_IF_ERROR(Expression, Exception) if(!Expression) throw Exception; return Expression

    AnimeGovno-_-, 03 Ноября 2011

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

    +991

    1. 1
    unsigned long long int value=Bin<unsigned long long int>("1111111111111111111111111111111111111111111111111111111111111111");

    AnimeGovno-_-, 02 Ноября 2011

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

    +1009

    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
    #pragma once
    
    #include <vector>
    #include <algorithm>
    #include <exception>
    
    using namespace std;
    
    template<typename nodeT>
    class Tree
    {
    	Tree* root;
    	Tree(Tree* _root, nodeT value)
    		: root(_root)
    		, Node(value)
    	{
    	}
    	vector<Tree> children;
    public:
    	nodeT Node;
    	Tree(void) : root(nullptr) { }
    	Tree(const Tree& value)
    		: children(value.children)
    		, Node(value.Node)
    		, root(value.root)
    	{
    	}
    	virtual ~Tree(void) { }
    	const Tree& operator=(const Tree& value)
    	{
    		if(&value != this)
    		{
    			children = value.children;
    			for_each(children.begin(), children.end(), [this](Tree& tree)
    			{
    				tree.root = this;
    			});
    			Node = value.Node;
    			root = value.root;
    		}
    		return *this;
    	}
    	Tree& Root()
    	{
    		if(root == nullptr)
    		{
    			throw exception("already root");
    		}
    		return *root;
    	}
    	bool IsRoot() const
    	{
    		return root == nullptr;
    	}
    	Tree* Push(nodeT node)
    	{
    		children.push_back(Tree(this, node));
    		return &children.back();
    	}
    	Tree& operator[](typename vector<Tree>::size_type index)
    	{
    		return children[index];
    	}
    	vector<Tree*> Children()
    	{
    		vector<Tree*> result;
    		for(vector<Tree>::iterator i = children.begin(); i!=children.end(); i++)
    		{
    			result.push_back(&(*i));
    		}
    		return result;
    	}
    	typename vector<Tree>::iterator begin()
    	{
    		return children.begin();
    	}
    	typename vector<Tree>::iterator end()
    	{
    		return children.end();
    	}
    };

    Шаблон из http://govnokod.ru/6415.

    Xom94ok, 29 Октября 2011

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

    +150

    1. 1
    m_caster->HasAura(31866 || 31867 || 31868)

    из одного эмулятора WoW Cataclysm

    chaoswithin, 27 Октября 2011

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

    +1014

    1. 1
    2. 2
    3. 3
    4. 4
    if (strlen(Uid.c_str()) > 0)
    {
      // ...
    }

    собственно, std::string Uid;

    JeremyW, 27 Октября 2011

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

    +1002

    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
    Нужно написать функцию, возводящую число в 10 степень.
    
    Но почему, мой сотрудник обязательно напишет
    double func (double a) {
    return a * a * a * a * a * a * a * a * a * a;
    }
    ??????
    
    А когда понадобится 11 степень, он сделает так:
    double func (double a, bool is11 = false) {
    if (is11 == true)
    return a * a * a * a * a * a * a * a * a * a * a;
    return a * a * a * a * a * a * a * a * a * a;
    }
    
    А когда появится 12 степень, знаете что произойдет?
    double func (double a, int stepen = 0) {
    switch (stepen) {
    case 0: return a * a * a * a * a * a * a * a * a * a; break;
    case 1: return a * a * a * a * a * a * a * a * a * a * a; break;
    case 2: return a * a * a * a * a * a * a * a * a * a * a; break;
    }
    return 0;
    }

    Источник: http://ibash.org.ru/quote.php?id=14755

    rat4, 27 Октября 2011

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

    +1005

    1. 1
    #define STL_NO_INLINE __forceinline

    А я думаю, почему в проекте, доставшемуся мне по наследству, exe'шник большой...

    AnimeGovno-_-, 26 Октября 2011

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

    +161

    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
    QString str[5][5] = {"a", "b", "c", "d", "e",
                             "f", "g", "h", "i", "k",
                             "l", "m", "n", "o", "p",
                             "q", "r", "s", "t", "u",
                             "v", "w", "x", "y", "z"};
        QString enc, text = ui->lineEdit->text();
        int l = text.length();
        QString tmp[1][8] = {"s", "o", "m", "e", "t", "e", "x", "t"};
        for (int i = 0; i < 1; i++)
        {
            for (int j = 0; j < 9; j++)
            {
                for (int ix = 0; ix < 6; ix++)
                {
                    for (int jx = 0; jx < 6; jx++)
                    {
                        if(tmp[i][j] == str[ix][jx])
                            enc = str[ix][jx + 1];
                        ui->lineEdit_2->setText(enc);
                    }
                }
            }
        }
    }

    Такой-то квадрат Полибия!

    Mindless, 25 Октября 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    QT project:
    
    t=x1; x1=x2; x2=t;
    t=y1; x1=y2; y2=t;

    И еще 90 говнопятнышек!
    Налетай: http://www.viva64.com/ru/a/0077/

    Andrey_Karpov, 25 Октября 2011

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