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

    −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
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    #include <iostream>
    #include <vector>
     
    using namespace std;
     
    struct vertex;
     
    vector< vertex > t;
     
    struct vertex {
        int nxt;
        vertex() {
            nxt = 0;
        }
        int getNext() {
            if( nxt == 0 ) {
            	cout << "t.size() = " << t.size() << endl;
                nxt = t.size();
                cout << "new nxt = " << nxt << endl;
                t.push_back( vertex() );
            }
            cout << "nxt = " << nxt << endl;
            return nxt;
        }
    };
     
    int main() {
        t.push_back( vertex() );
        cout << t[0].getNext() << endl;
        cout << t[0].getNext() << endl;
     
        return 0;
    }

    Где здесь UB?
    http://ideone.com/wm67zx

    Запостил: 3_dar, 07 Сентября 2016

    Комментарии (9) RSS

    Добавить комментарий