如何删除这种二维数组?
How to delete such kind of two dimension array?
#define NB -3
#define NM -2
#define NS -1
#define ZO 0
#define PS 1
#define PM 2
#define PB 3
int (*rule)[7] =new int[7][7]{{NB,NB,NM,NM,NS,ZO,ZO},
{NB,NB,NM,NS,NS,ZO,PS},
{NM,NM,NM,NS,ZO,PS,PS},
{NM,NM,NS,ZO,PS,PM,PM},
{NS,NS,ZO,PS,PS,PM,PM},
{NS,ZO,PS,PM,PM,PM,PB},
{ZO,ZO,PM,PM,PM,PB,PB}};
我应该使用以下方法吗?
for(int i=0;i<7;++i)
{
delete[] rule++;
}
或者如果我使用delete[] rule
,这似乎很奇怪,因为底层对象是一个 arrrays 数组,而不是指针数组,这是rule
的类型。
rule
是指向键入int[7]
的指针数组。
前者以new[]
宣布.
因此,您需要使用delete[] rule;
来释放内存。
相关文章:
- 将值从二维数组输出到文本文件
- 在二维数组中查找最小值和最大值?
- 移动二维数组中的字符
- 如何正确填充在堆上分配的二维数组?
- 传递二维数组时出现问题
- 具有随机数的二维数组不会更改
- 如何在C++中获取二维数组中最少的一列数?
- 如何使用用户输入变量制作二维数组?
- 尝试从动态分配的二维数组 C++ 中读取值时出现分段错误,并在尝试删除它时给出 munmap_chunk():
- 如何删除这种二维数组?
- 如何正确删除具有已知二维大小的二维数组
- 如何删除二维数组中的元素
- 正在删除模板化的C++二维数组
- 删除二维数组的矢量
- 二维数组被函数修改后如何删除
- 初始化和删除二维数组
- 删除C++中的二维数组
- 删除动态创建的二维数组时出现访问冲突消息
- 删除二维数组
- 如何从二维数组中删除