C++ new

2019-05-06  本文已影响0人  JingWenxing

new的过程说明:

获得一块内存空间、调用构造函数、返回正确的指针。

初始化:

int *a = new int;
float *a = new float(2.3333);
char *a = new char[10];

二维数组:

//列值固定
const int MAXCOL = 3;
int row;
cin >> row;
//申请一维数据并将其转成二维数组指针
int* pp_arr = new int[row * MAXCOL];
int(*p)[MAXCOL] = (int(*)[MAXCOL])pp_arr;
//此时p[i][j]就可正常使用
cin>>row>>col;
int *p = new int[row*col];         // 这种是当成一维数组连续开辟的
for (int i = 0; i < row; i++)
    for (int j = 0; j < col; j++)
        p[i * (row + 1) + j] = 0;  // 如此访问

参考资料:

C++new的用法

[C/C++] C++中new的语法规则

上一篇下一篇

猜你喜欢

热点阅读