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

    +1

    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
    import std.io;
    import std.string;
    import calendar.month;
    
    module calendar.date;
    
    namespace Chrono
    {
        export
        struct Date {
            Date(int, Month, int);
            int day() const
            {
                return d;
            }
            Month month() const
            {
                return m;
            }
            Int year() const
            {
                return y;
            }
        private:
            int d;
            Month m;
            int y;
        };
        export
        std::ostream &operator<<(std::ostream &, const Date &);
        export
        std::string to_string(const Date &);
    }

    По мотивам: http://habrahabr.ru/company/infopulse/blog/267781/
    зы. https://github.com/isocpp/CppCoreGuidelines/blob/master/talks/Large-Scale-C%2B%2B-With-Modules.pdf

    CriDos, 27 Сентября 2015

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

    +4

    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
    long long int Factorial(long long int m_nValue)
       {
           long long int result=m_nValue;
           long long int result_next;
           long long int pc = m_nValue;
           do
           {
               result_next = result*(pc-1);
               result = result_next;
               pc--;
           }while(pc>2);
           m_nValue = result;
           return m_nValue;
       }

    http://rosettacode.org/wiki/Factorial#C.2B.2B

    Abbath, 22 Сентября 2015

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

    +2

    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
    #include <memory>
    #include <list>
    
    struct ListNode;
    using List = std::unique_ptr<const ListNode>;
    
    struct ListNode {
        const int data;
        const List next;
        
        ~ListNode()
        {
            if(!next)
    	    return;
    	else {
    	    std::list<ListNode*> nodes;
    	    for(auto pn = next.get(); pn->next; pn = pn->next.get()) {
    		nodes.push_back(const_cast<ListNode*>(pn));
    	    }
    	    for(decltype(nodes)::reverse_iterator in = nodes.rbegin(); in != nodes.rend(); ++in) {
    		const_cast<List&>((*in)->next).reset();
    	    }
    	}
        }
    };
    
    List Cons(int head, List tail)
    {
        return List(new ListNode{head, std::move(tail)});
    }
    
    List Nil()
    {
        return List();
    }
    
    size_t len(const List & self)
    {
        if (!self) {
            return 0;
        }
        return 1 + len(self->next);
    }
    
    #include <iostream>
    
    void test(size_t n)
    {
        auto p = Nil();
        for (size_t i = 0; i < n; ++i) {
            auto x = std::move(p);
            p = Cons(1, std::move(x));
        }
        std::cout << "done: " << std::endl;
    }
    
    int main()
    {
        test(131028);
    }

    односвязный список против джависта
    источник: https://www.linux.org.ru/forum/development/11752940?cid=11755489

    CHayT, 22 Сентября 2015

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

    +1

    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
    class DBUSLIB_EXPORT DBusLib : public QObject
    {
        Q_OBJECT
    public:
        DBusLib(QObject* parent = 0);
        void requestId(const QString &req, const int &reqTimeOut);
    
        QByteArray replyData;
        QString name;
        MyPair reqStruct;  // id, partsCount
        QVector<QByteArray> vecFile;
        int partsCount; //кол-во частей
        int parts; //кол-во пришедших
        QTimer *timer = new QTimer(this);
    
    signals:
        void doneSignal(QByteArray& fileData);
    
    public slots:
        void requestMap(const MyPair &dbm);
        void partsFile(const MyPair &part);
        void requestFail(const QDBusError& error);
        void timeIsOver();
    
    };

    Студент принес говна. Паблик морозов, ценные комментарии и все такое.
    Вот только мне любопытна 14 строчка. C++11 не включен.
    Конпелятор mingw492 выбрасывает ворнинг
    D:\projects\test_dbus\client_v2\client_l ib\dbuslib.h:35: предупреждение: non-static data member initializers only available with -std=c++11 or -std=gnu++11
    QTimer *timer = new QTimer(this);
    ^
    Но при этом все компилится и работает. Значит, 03 стандарт разрешает такое?

    scp, 17 Сентября 2015

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

    +6

    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
    #include <bits/stdc++.h>
    #define MP make_pair
    #define PB push_back
    #define int long long
    #define st first
    #define nd second
    #define rd third
    #define FOR(i, a, b) for(int i =(a); i <=(b); ++i)
    #define RE(i, n) FOR(i, 1, n)
    #define FORD(i, a, b) for(int i = (a); i >= (b); --i)
    #define REP(i, n) for(int i = 0;i <(n); ++i)
    #define VAR(v, i) __typeof(i) v=(i)
    #define FORE(i, c) for(VAR(i, (c).begin()); i != (c).end(); ++i)
    #define ALL(x) (x).begin(), (x).end()
    #define SZ(x) ((int)(x).size())
    #ifdef LOCAL
    #define debug(x) {cerr <<#x<<" = " <<x<<"\n"; }
    #define debug2(x, y) {cerr <<#x<<" = " <<x<<", "<<#y <<" = " <<y <<"\n";}
    #define debug3(x, y, z) {cerr <<#x<<" = " <<x<<", "<<#y <<" = " <<y <<", "<<#z<<" = "<<z<<"\n";}
    #define debug4(x, y, z, t) {cerr <<#x<<" = " <<x<<", "<<#y <<" = " <<y <<", "<<#z<<" = "<<z<<", "<<#t <<" = " <<t<<"\n";}
    #define debugv(x) {{cerr <<#x <<" = "; FORE(itt, (x)) cerr <<*itt <<", "; cerr <<"\n"; }}
    #else
    #define debug(x)
    #define debug2(x, y)
    #define debug3(x, y, z)
    #define debug4(x,y,z,t)
    #define debugv(x)
    #define cerr if(0)cout
    #endif
    #define make(type, x) type x; cin>>x;
    #define make2(type, x, y) type x, y; cin>>x>>y;
    #define make3(type, x, y, z) type x, y, z; cin>>x>>y>>z;
    #define make4(type, x, y, z, t) type x, y, z, t; cin>>x>>y>>z>>t;
    #define next ____next
    #define prev ____prev
    #define left ____left
    #define hash ____hash
    using namespace std;
    typedef long long ll;
    typedef long double LD;
    typedef pair<int, int> PII;
    typedef pair<ll, ll> PLL;
    typedef vector<int> VI;
    typedef vector<VI> VVI;
    typedef vector<ll> VLL;
    typedef vector<pair<int, int> > VPII;
    typedef vector<pair<ll, ll> > VPLL;

    Даже #define int long long есть
    http://codeforces.com/contest/575/submission/12867420

    3_dar, 15 Сентября 2015

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

    −1

    1. 1
    #define y1 asdfgfgdvf

    Нехрена юзать глобальные переменные.

    3_dar, 15 Сентября 2015

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

    +1

    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
    void RedoLayout(HWND dialogWindow)
    {
    	RECT rectangle;
    	GetClientRect(dialogWindow, &rectangle);
    
    	/* Status */
    	SetWindowPos(GetDlgItem(dialogWindow, IDC_STATUS), dialogWindow, 
    		0,
    		rectangle.bottom - (layout[2].bottom - layout[2].top),
    		rectangle.right - rectangle.left,
    		(layout[2].bottom - layout[2].top),
    		SWP_NOZORDER);
    
    	/* Panel */
    	SetWindowPos(
    		GetDlgItem(dialogWindow,IDC_PANEL), dialogWindow,
    		(layout[1].left - layout[0].left),
    		(layout[1].top - layout[0].top),
    		rectangle.right - (layout[1].left-layout[0].left) - (layout[0].right - layout[1].right),
    		rectangle.bottom - (layout[1].top - layout[0].top) - (layout[0].bottom - layout[1].bottom),
    		SWP_NOZORDER);
    
    	/* Buttons & CheckBoxes */
    	for (int i = 0; i < sizeof(controls) / sizeof(controls[0]); ++i)
    	{
    		SetWindowPos(
    			GetDlgItem(dialogWindow,controls[i]), dialogWindow,
    			rectangle.right - (layout[0].right - layout[3 + i].left),
    			(layout[3 + i].top - layout[0].top),
    			(layout[3 + i].right - layout[3 + i].left),
    			(layout[3 + i].bottom - layout[3 + i].top),
    			SWP_NOZORDER);
    	}
    }

    Из SDK к Intel RealSense

    kingmonstr, 13 Сентября 2015

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

    +3

    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
    /*
    =============
    TempVector
    
    This is just a convenience function
    for making temporary vectors for function calls
    =============
    */
    float  *tv (float x, float y, float z)
    {
      static  int    index;
      static  vec3_t  vecs[8];
      float  *v;
    
      // use an array so that multiple tempvectors won't collide
      // for a while
      v = vecs[index];
      index = (index + 1)&7;
    
      v[0] = x;
      v[1] = y;
      v[2] = z;
    
      return v;
    }

    LispGovno, 13 Сентября 2015

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

    +7

    1. 1
    void parse_csv_string_string_string_string(string in_file, vector<string>& spectrum_id_list, vector<string>& file_name_list, vector<string>& name_list, vector<string>& id_list) {

    – Дяденька, осторожно, у вас клавиатура солидолом намазана...

    Yuuri, 31 Августа 2015

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    float data1[16];
    float data2[16];
    
    for (unsigned i = 0; i < 4; ++i)
        for (unsigned j = 0; j < 4; ++j)
            *(data1 + 4 * i + j) = *(data2 + 4 * i + j);

    jangolare, 26 Августа 2015

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