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

    +13

    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
    /////////////////////////////////////////////////////////////////////////////////////////
    template< typename  TT_multimap_type >
    void  copy_val_vect_into_multimap_with_mapped_val_ordering_with_comparator
        (
            T_val_vect                                  const   &   val_vect,
            TT_multimap_type                                    &   multimap,
            T_rand_rev_compare_val_with_comparators    const    &   swap_compare_val
        )
    {
        T_insert_with_ordering_in_multimap_with_comparator< TT_multimap_type >
            insert_with_ordering_in_multimap_with_comparator
                (
                    multimap,
                    swap_compare_val
                );
     
        std::for_each
            (
                val_vect.begin    (),
                val_vect.end      (),
                insert_with_ordering_in_multimap_with_comparator
            );
    }
    /////////////////////////////////////////////////////////////////////////////////////////

    http://goo.gl/1oiTBt
    вырвиглазный code-style

    absolut, 16 Июня 2014

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

    +1

    1. 1
    chunksLst.erase(++it1);

    laMer007, 16 Июня 2014

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

    +8

    1. 1
    if(!(a - b))

    LispGovno, 12 Июня 2014

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

    +10

    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
    string intArrayToString(int* array, int size)
    {
      ostringstream ss;
      ss << "[";
      for (int i=0; i<size-1; i++)
        ss << array[i] << ",";
      ss << array[size-1];
      ss << "]";
      return ss.str();
    }
    
    string longIntArrayToString(long int* array, int size)
    {
      ostringstream ss;
      ss << "[";
      for (int i=0; i<size-1; i++)
        ss << array[i] << ",";
      ss << array[size-1];
      ss << "]";
      return ss.str();
    }

    О шаблонах мы, видимо, не в курсе. Ну и упаси вас боже передать суда size=0.

    Думаю, сюда можно смело выкладывать весь источник, но уж больно он уныл

    https://github.com/adobe-research/libkafka
    Адобъ Рисёрчъ на острие прогресса
    #ifdef DEBUG 
    #define D(x) x
    #else
    #define D(x)
    #endif

    #define E(x) cout.flush() << x
    Так ведь и придётся своего клиента писать... :(

    roman-kashitsyn, 12 Июня 2014

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

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    template <class ResultBinaryFunc, class BinaryFunc1, class BinaryFunc2>
    class complex_binary_compose: public std::binary_function<BinaryFunc1::first_argument_type,
    														  BinaryFunc1::second_argument_type,
    														  ResultBinaryFunc::result_type>
    {
    public:
    	complex_binary_compose(const ResultBinaryFunc & BF, const BinaryFunc1 & UF1, const BinaryFunc2 & UF2) :
    	  _bf(BF), _f1(UF1), _f2(UF2) {}
    	result_type operator()(first_argument_type arg1, second_argument_type arg2)
    	{
    		return _bf(_f1(arg1, arg2), _f2(arg1, arg2));
    	}
    private:
    	ResultBinaryFunc _bf;
    	BinaryFunc1 _f1;
    	BinaryFunc2 _f2;
    };
    
    template <class ResultBinaryFunc, class BinaryFunc1, class BinaryFunc2>
    complex_binary_compose<ResultBinaryFunc, BinaryFunc1, BinaryFunc2>
    	complex_compose2(const ResultBinaryFunc & BF, const BinaryFunc1 & UF1, const BinaryFunc2 & UF2)
    {
    	return complex_binary_compose<ResultBinaryFunc, BinaryFunc1, BinaryFunc2>(BF, UF1, UF2);
    }

    Чтобы было удобно применять stl алгоритмы.

    laMer007, 10 Июня 2014

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

    +8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    # ifndef BOOST_NO_PARTIAL_SPECIALIZATION
          , check<Model>
    # else
          , check<failed ************ Model::************>
    # endif

    LispGovno, 10 Июня 2014

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

    +58

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Poor man' link time code generation:
    
    #include "main.cpp"
    #include "frame.cpp"
    #include "func.cpp"
    #include "account.cpp"
    #include "advancer.cpp"
    #include "audit.cpp"
    #include "cpio.cpp"
    
    g++ -whole-program -o my books.exe -O3 includeall.cpp

    http://blogs.msdn.com/b/oldnewthing/archive/2014/06/06/10531604.aspx

    someone, 07 Июня 2014

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

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    typedef SmartPtr<CallRec> callptr;
    
    callptr *m_call;
    
    if (m_call && (*m_call) && (*m_call)->SomeMethod()) {
        // ...
    }

    GnuGK и смартпоинтеры.

    bormand, 06 Июня 2014

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

    +13

    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
    #define _BEGIN_LOCK(_Kind) \
    	{ \
    		typedef int _TmpTestType; \
    		__if_exists(_TmpTestType::ToString) \
    		{ \
    		bool _MustReleaseLock = false; \
    		int _LockKind = _Kind; \
    		System::Runtime::CompilerServices::RuntimeHelpers::PrepareConstrainedRegions(); \
    		try \
    		} \
    		{ \
    			__if_exists(_TmpTestType::ToString) \
    			{ \
    			System::Runtime::CompilerServices::RuntimeHelpers::PrepareConstrainedRegions(); \
    			try { } _M_CEE_FINALLY \
    			{ \
    				_STD _Lockit::_Lockit_ctor(_LockKind); \
    				_MustReleaseLock = true; \
    			} \
    			} \
    			__if_not_exists(_TmpTestType::ToString) \
    			{ \
    			_STD _Lockit _Lock(_Kind); \
    			}

    gost, 04 Июня 2014

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

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    ~Guard(){
      if(std::uncaught_exception())
        try{
        }catch(...){
          error_output<<"prevented exception!!!"<<endl;
        };
    }

    LispGovno, 03 Июня 2014

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