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

    +26

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    result.push_back(TVector<2>
    				(
    					(A-√(D))/C,
    					(E-Line.K()*√(D))/C
    				));
    				result.push_back(TVector<2>
    				(
    					(A+√(D))/C,
    					(E+Line.K()*√(D))/C
    				));

    LispGovno, 31 Августа 2012

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

    +42

    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
    std::string loc =
    	( {
    		const char *str = "";
    
    		switch (location) {
    		case Net::HANDSHAKE_TIMEOUT:
    			str = _(" due to handshake timeout");
    			break;
    		case Net::RECV_HANDSHAKE:
    			str = _(" while waiting for handshake");
    			break;
    		case Net::HANDSHAKE_DATA:
    			str = _(" due to unsupported handshake data");
    			break;
    		case Net::HANDSHAKE_AUTH:
    			str = _(" while parsing handshake data");
    			break;
    		case Net::WAIT_DEVICE:
    			str = _(" while waiting for device");
    			break;
    		case Net::TRANSFER_DATA:
    			str = _(" while transferring data");
    			break;
    		}
    		str;
    	});

    Я хуею с юных оптимизаторов.

    gvy, 28 Августа 2012

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

    +31

    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
    #include <iostream>
    #include <tr1/functional>
    
    using namespace std::tr1::placeholders;
    
    struct I
    {
      int i;
    };
    
    struct S
    {
      int i;
      I ii;
    };
    
    int main()
    {
      std::tr1::function<I& (S&)> pi = std::tr1::bind(&S::ii, _1);
      std::tr1::function<std::tr1::reference_wrapper<I> (S&)> pri = std::tr1::bind(static_cast<std::tr1::reference_wrapper<I> (*)(I&)>(&std::tr1::ref<I>), std::tr1::bind(pi, _1));
      std::tr1::function<int& (S&)> psi = std::tr1::bind(&I::i, std::tr1::bind(&std::tr1::reference_wrapper<I>::get, std::tr1::bind(pri, _1)));
      S s = {1, {2}};
      std::cout << psi(s) << std::endl;
      psi(s) = 3;
      std::cout << psi(s) << std::endl;
      return 0;
    }

    Нашёл на RSDN, в теме о том, как получить указатель на член члена.

    suc-daniil, 28 Августа 2012

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

    +29

    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
    namespace NFlash
    {
            class TCommandMap
    	{
    	public:
    		typedef std::pair<NProtocolConsts::SCommands::E, pChar> TPair;
    	private:
    		std::vector<TPair> _commandMap;
    	public:
    		TCommandMap(void);
    		void appendCommand(TPair & Command);
    		void appendCommand(NProtocolConsts::SCommands::E, abstractString & Name);
    		const std::vector<TPair> & Names(void) const;
    		byte MaxCommandNameLength(void) const;
    		NProtocolConsts::SCommands::E GetCommandIndex(PChar Name) const;
    	};
    
    	void initCommandMaps(void);
    }

    Говногость, 24 Августа 2012

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

    +39

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    extern const TSafeFloat Pi;//Не использовать до входа в main!!! Возможно она ещё не инициализированна!!!
    //#define PI		3.14159265358979323846
    
    #ifndef M_PI
                             #define M_PI		3.14159265358979323846
    #endif

    Форматирование сохранено. Файл PiConsts.h

    HaskellGovno, 24 Августа 2012

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

    +27

    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
    // до рефакторинга
    if(!y) {
        if(!x) {
            if(grid[pos+1] || grid[pos+fieldWidth])
                ret = true;
        } else if(x == fieldWidth - 1) {
            if(grid[pos - 1] || grid[pos+fieldWidth])
                ret = true;
        } else {
            if(grid[pos-1] || grid[pos+1] || grid[pos+fieldWidth])
                ret = true;
        }
    } else if(y == fieldHeigth - 1) {
        if(!x) {
            if(grid[pos+1] || grid[pos-fieldWidth])
                ret = true;
        } else if(x == fieldWidth - 1) {
            if(grid[pos - 1] || grid[pos-fieldWidth])
                ret = true;
        } else {
            if(grid[pos-1] || grid[pos+1] || grid[pos-fieldWidth])
                ret = true;
        }
    } else {
        if(!x) {
            if(grid[pos+1] || grid[pos+fieldWidth] || grid[pos-fieldWidth])
                ret = true;
        } else if(x == fieldWidth - 1) {
            if(grid[pos - 1] || grid[pos+fieldWidth] || grid[pos+fieldWidth])
                ret = true;
        } else {
            if(grid[pos - 1] || grid[pos+fieldWidth] || grid[pos-fieldWidth] || grid[pos + 1])
                ret = true;
        }
    }
    
    // после рефакторинга
    bool ret = getGridPoint(x-1, y) || getGridPoint(x+1, y) || getGridPoint(x, y-1) || getGridPoint(x, y+1))

    Код одного из моих друзей. Проверяет закрашена ли хотя бы одна клеточка вокруг указанной...

    bormand, 20 Августа 2012

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

    +19

    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
    ??=include <iostream>
     
    template <typename T> class TSingleton: public T
    ??<
       public:
          static T& instance(void)
          ??<
             static T instance;
             return instance;
          ??>;
    ??>;
     
    class TOscillStatisticko
    ??<
       protected:
            TOscillStatisticko(void):_countNewInSmallPool(0), _countDeleteInSmallPool(0) ??<??>;
            
            friend class TSingleton <TOscillStatisticko>;
     
       private:
          int _countNewInSmallPool;
          int _countDeleteInSmallPool;
     
       public:
          void addCountNewInSmallPool(void)
          ??<
             _countNewInSmallPool++;
          ??>
     
          int countNewInSmallPool(void)
          ??<
             return _countNewInSmallPool;
          ??>
    ??>;
     
    typedef TSingleton <TOscillStatisticko> TOscillStatistic;
     
    int main() 
    ??<
        TOscillStatistic::instance().addCountNewInSmallPool();
        std::cout<<TOscillStatistic::instance().countNewInSmallPool()<<std::endl;
        std::cout<<"ko"<<std::endl;
    ??>

    http://ideone.com/dt9L9
    Ладно, раз уж я так палюсь, то придется признаться: у меня просто сломалась клавиатура, потому сегодня пришлось написать немного странно...
    Так вот вопрос:, почему, если закомментировать строку

    friend class TSingleton <TOscillStatisticko>;
    http://ideone.com/4WBGh

    HaskellGovno, 20 Августа 2012

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

    +38

    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
    const NMath::TLineEquation<> C_E_(C_, E_);
    		const NMath::TLineEquation<> D_A_(D_, A_);
    		const NMath::TVector<2> F_=C_E_.Intersection(D_A_);
    		TSafeFloat lpr=_state._safeDistance->Value()+_state._instrumentRadius->Value();
    		if((F_-B).Length()>lpr)
    		{
    			const NMath::TVector<2> F__=(D_+E_)/2.0;//F
    			//...
    			const NMath::TVector<2> TV=D_-E_;
    			const NMath::TVector<2> F___=PointAtDistance(B,TV,lpr, m90);//F*
    			const NMath::TVector<2> DEDir=rt90(F___-B, m90).Normalize()*10;
    			const NMath::TLineEquation<> DE(F___,F___+DEDir);
    			const NMath::TVector<2> E=DE.Intersection(C_E_);
    			const NMath::TVector<2> D=DE.Intersection(D_A_);
    			TpointerAnyCommand result;
    			result=new TLineCommand(CurrentCommand.SourceCommand(),E-C_,OnOffCorrectionEmpty);
    			_resultDestination.push(result);
    			result=new TLineCommand(CurrentCommand.SourceCommand(),D-E,OnOffCorrectionEmpty);
    			_resultDestination.push(result);
    			result=new TLineCommand(CurrentCommand.SourceCommand(),D_-D,OnOffCorrectionEmpty);
    			_resultDestination.push(result);
    		}

    Говногость, 20 Августа 2012

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

    +20

    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>
    #include <boost/noncopyable.hpp>
    #include <assert.h>
    
    using namespace std;
    
    class noncopyable
      {
       protected:
          noncopyable() {}
         virtual ~noncopyable() {}
       private:  // emphasize the following members are private
          noncopyable( const noncopyable& );
          virtual const noncopyable& operator=( const noncopyable& )final = delete;
      };
    
    class T: public noncopyable
    {
    public:
       const T& operator=( const T& ){return *this;}
    };
    
    int main() {
       T a;
       a=T();
       std::cout<<"kokoko"<<std::endl;
       return 0;
    }

    http://liveworkspace.org/code/15b5716e7618cc75a6881dfdd46982d5

    В чем смысл =delete, если запретить копировать T все равно не удается? Или это ошибка не стандарта, а реализации gcc?

    HaskellGovno, 20 Августа 2012

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

    +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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    %:include <iostream>
     
    int main(int argc, char *argv<::>) 
    <%
        if (argc > 1 and argv<:1:> not_eq '\0') <%
            std::cout << "Hello " << argv<:1:> << '\n';
        %>
        std::cout<<"ko"<<std::endl;
    %>
     
     
    
    ??=include <iostream>
     
    int main(int argc, char *argv??(??)) 
    ??<
        if (argc > 1 and argv??(1??) not_eq '\0') ??<
            std::cout << "Hello " << argv??(1??) << '\n';
        ??>
        std::cout<<"ko"<<std::endl;
    ??>

    http://liveworkspace.org/code/150ad59b81b309bbffed963829f4fc9e
    http://liveworkspace.org/code/c64104e4272af4d89f2f74c35c5c2ee3
    Просто оставлю это здесь.

    HaskellGovno, 20 Августа 2012

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