1、占用空间较大的数组,如何快熟的实现赋值
使用与内存操作相关的C++系统函数memcpy
memcpy(*dst,*src,int n)
例子:T *region //T 为类型 可为基本类型 自定义类型 ;region为已经赋值的对象或者指针
T *flag //flag为待赋值对象或者指针
memcpy(region,flag,sizeof(region))
结果 : 将region中对应的值赋值给flag;例如将region[0]赋值给flag[0]
注意事项: 注意各指针、对象的大小,避免赋值的时候发生越界现象;
那如果需要赋值的指针或对象需要全部初始化为同一个值,该如何。此时需要用到memset
memset(*dst,str,int n)
例子: 将int a[1000]全部初试化为0;
memset(a,0,1000);在此例子中n的值需小于等于1000,防止越界;
2、二维动态数组的申请与删除
int **p;
p = new int*[8];
for(int i =0;i < 8;i++)
p[i] = new int[90];
delete
for(int i =0;i < 8;i++)
delete []p[i];
delete []p;