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

    −32

    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
    //
    //	std::string wrapper
    //
    namespace priv {
    	class string {
    		std::string &m_s;
    
    		std::string &(std::string::*m_pAssign1)( const char *, std::string::size_type );
    		std::string &(std::string::*m_pAssign2)( const char * );
    
    	public:
    		string( std::string &str ): m_s(str),
    			m_pAssign1(&std::string::assign), m_pAssign2(&std::string::assign) {}
    
    		string &assign( const char *s, std::string::size_type n )
    		{
    			(m_s.*m_pAssign1)( s, n ); return *this;
    		}
    		string &assign( const char *s )
    		{
    			(m_s.*m_pAssign2)( s ); return *this;
    		}
    	};
    }

    сегодня ассимилирую старый хлам на работе (проекты VC6) в студию с нормальными свойствами проектов, конфигурациями, неабсолютными путями и т.д.
    наткнулся в одной из либ на вот это

    defecate-plusplus, 30 Мая 2012

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

    −37

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    int LoggingProvider::AddJournalPackingLogRecord(int eventId, const astring& userId, 
                                                  const std::vector<std::string>& journals, int errorId, int devCode,
                                                  int sysCode, const astring& errorArgs)
    {
        std::string strUserId(userId.c_str()), strErrorArgs(errorArgs);
    
        return AddJournalPackingLogRecord(eventId, userId, journals, errorId, devCode, sysCode, strErrorArgs);
    }

    Рекурсия!

    tob1az, 30 Мая 2012

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

    −40

    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
    /*
    	 * This GtkIMHtml has the maximum number of smileys allowed, so don't
    	 * add any more.  We do this for performance reasons, because smileys
    	 * are apparently pretty inefficient.  Hopefully we can remove this
    	 * restriction when we're using a better HTML widget.
    	 */
    	unescaped = purple_unescape_html(smiley);
    	numsmileys_thismsg = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(imhtml), "gtkimhtml_numsmileys_thismsg"));
    	if (numsmileys_thismsg >= 30) {
    		gtk_text_buffer_insert(imhtml->text_buffer, iter, unescaped, -1);
    		g_free(unescaped);
    		return;
    	}
    	numsmileys_total = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(imhtml), "gtkimhtml_numsmileys_total"));
    	if (numsmileys_total >= 300) {
    		gtk_text_buffer_insert(imhtml->text_buffer, iter, unescaped, -1);
    		g_free(unescaped);
    		return;
    	}

    Вот такой прикол от Pidgin. Больше 30 смайлов в сообщении и 300 в диалоге - низя. Захардкодили, ибо стыдно, что тормозит. А оно действительно тормозит.

    g0rky, 29 Мая 2012

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

    −30

    1. 1
    2. 2
    TempAnalogTable[ArrayData->GetNomerElement( j )].Data = 
                Chanel.TempPlace[in] + ( Chanel.TempPlace[in + 1] << 8 );

    Скажите, это нормально?

    cyrax, 29 Мая 2012

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

    +25

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    #ncld<strm.h>
    vd mn()
    {
    ct<<"Hll, wrld!";
    cn.gt();
    }

    Нхй пргрммрвн.

    dos_, 29 Мая 2012

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

    −28

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    template<typename T, int $1, int _2> struct Matrix
    {
        ...
        Vector<T, _2> vectors[$1];
    };

    HaskellGovno, 21 Мая 2012

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

    −23

    1. 1
    2. 2
    std::bad_alloc e;
    throw std::move(e);

    Написал один новичок. Говорит это особая сильно ускоряющая оптимизация.

    Говногость, 18 Мая 2012

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

    −23

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    bool strictlyLess(std::vector<int> v1, std::vector<int>v2) { // v1 < v2
    	bool strictly = false;
    	for(int i = 0; i < v1.size(); i++) {
    		if(v1[i] > v2[i]) {
    			return false;
    		}
    		if(v1[i] < v2[i]) {
    			strictly = true;
    		}
    	}
    	return strictly;
    }

    movaxbx, 18 Мая 2012

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

    −22

    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
    // UNALIGNED only for IA64 (Itanium) 
    // for AMD64 & i386 this not needed
    
    void * c_memmove(void *dest, void const *src, size_t n)
    {
      void *ret = dest;
    
      if (n)
      {
    
        (__int8 *&)dest += n;
        (__int8 *&)src += n;
    
        switch (int x = n % 4)
        {
          do
          {
            if (!!'true')
            {
              case 0:
                *--(UNALIGNED __int32 *&)dest = *--(UNALIGNED __int32 *&)src;
                n -= 4;
            }
            else
            {
              case 3: 
                *--(__int8 *&)dest = *--(__int8 *&)src;
              case 2: 
                *--(__int8 *&)dest = *--(__int8 *&)src;
              case 1: 
                *--(__int8 *&)dest = *--(__int8 *&)src;
              n -= x;
            }
          } while (n);
        }
      }
      return ret;
    }

    63F45EF45RB65R6VR, 17 Мая 2012

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

    −17

    1. 1
    if(0){}else for (... тут всякий код...) и тут всякий код

    Из реализации foreach в Qt. Не ГК. Кто первый скажет почему не ГК получит пирожок с полочки.

    bormand, 17 Мая 2012

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