C++创建二维指针问题

int n = 0;
int **num = new int*[n];
cin >> n;

上述的代码,Line2和Line3我弄反了,为什么结果在后面进行二维数组操作的时候没有影响?

for (int i = 0; i<n; i++) {
        num[i] = new int[i+1];
        for (int j = 0; j < i+1; j++) {
            cin >> num[i][j];
        }
    }

比如我上述操作之后,我还是可以对num[][]进行读写。new的性质到底是怎样的?

阅读 2.8k
1 个回答

C和C++并不检测基本类型数组越界,指针可以随意玩,但是这样做很危险

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题