new、delete是使用

来源:互联网 发布:centos 7 minimal ssh 编辑:程序博客网 时间:2024/05/21 10:25

下面摘抄自http://bbs.csdn.net/topics/60070745

#include <iostream>

using namespace std;

void main()
{
//用new创建一个二维数组,有两种方法,是等价的
//一:
int (*p)[10] = new int[5][10];
//二:
int **p = new int* [5];
for(int i=0;i<5;i++)
p[i] = new int[10];

//指针数组的创建,也有两种方法
//一:
char **pa = new char* [4];
for (int i=0;i<4;i++)
{
pa[i] = new char[8]; //为每个指针都分配8个char元素空间。
}
//二:
char *pa[4];//可以不用new创建
for (int i=0;i<4;i++)
{
pa[i] = new char[8]; //为每个指针都分配8个char元素空间。
}


//delete二维数组
//for一:
delete []p;
//for二:
for(int i=0; i<5; ++i)
delete []p[i];
delete []p;

//delete指针数组
//for一:
for(int i=0; i<4; ++i)
delete []pa[i];
delete []pa;
//for二:
for(int i=0; i<4; ++i)
delete []pa[i];
}
0 0