Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

这里用std::vector代替数组为什么会出现异常?

使用数组的时候程序运行正常,换成vector之后多运行几次总是会出问题,感觉有点奇怪,这是什么原因呢?我是用的编译器是g++。

#include <iostream>
#include <vector>

int main() {
    int n = 3;
    for (int k = 1; k <= 4; ++k) {
//        int *A = new int[k]();
        std::vector<int> A(k, 0);
        int i = 0;
        for (; i >= 0; A[i]++) {
            for (int j = 0; j < k; ++j) {
                std::cout << A[j] << " ";
            }
            std::cout << "\n";
            for (i = k - 1; i >= 0 && A[i] == n - 1; i--)
                A[i] = 0;
        }
    }
    return 0;
}

Enregistrer un commentaire

0 Commentaires