new delete

动态分配内存,类似于malloc/free

 

看一下如何使用

整形

    int *p = new int;
    *p = 5;

或者在new的同时直接初始化

    int *p = new int(5);
delete p;

 

字符

    char *p = new char('a');
    delete p;

 

数组

int *p = new int[5];
delete []p

 

二维数组:

网上有资料这样new二维数组: int **p = new int[4][5]; 这个方法是错误的 int[4][5]这个数据类型和 **p并不匹配

我们可以这样做

    int **p = new int*[4];
    for (auto i = 0; i < 4; i++)
    {
        p[i] = new int[5];
    }

或者直接用向量

    vector<vector<int>> p(4);
    p[1].push_back(4);
    p[1].push_back(6);
    p[2].push_back(1);
    cout<<p[1][1]<<endl;

 

posted @ 2020-04-07 10:48  祁峰_1024  阅读(112)  评论(0编辑  收藏  举报