C++学习笔记(十一):动态分配内内存相关

1.通过new动态创建

#include <iostream>
using namespace std;
class Point{
private:
    int x,y;
public:
    Point(int xx=0, int yy=0);
};

Point::Point(int xx, int yy):
    x(xx), y(yy){}

int main(){
    Point *p = new Point[2];
    delete[] p;//释放数组的空间要加[]
    return 0;
}

动态分配多维数组(int类型):用到数组指针

#include <iostream>
using namespace std;
int main(){
    int a[2][3][4];
    int (*p)[3][4]=a;
    for(int i=0; i<2; i++)
        for(int j=0; j<3; j++)
            for(int k=0; k<4; k++)
                *(*(*(p+i)+j)+k) = 100*i +10*j +k;
    for(int i=0; i<2; i++){
        for(int j=0; j<3; j++){
            for(int k=0; k<4; k++){
                cout<<p[i][j][k]<<' ';
            }
            cout<<endl;
        }
        cout<<endl;
    }

    return 0;
}

结果:

0 1 2 3
10 11 12 13
20 21 22 23

100 101 102 103
110 111 112 113
120 121 122 123

说明多维数组动态创建成功

2.动态数组类

猜你喜欢

转载自blog.csdn.net/Wzz_Liu/article/details/82353813