博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写了一个bug----使用已经被删除的内存
阅读量:6279 次
发布时间:2019-06-22

本文共 2204 字,大约阅读时间需要 7 分钟。

#include 
#include
#include
using namespace std;const int NN = 5;class Piece{ private: int r; int c; int** p; public: Piece() : r(0), c(0) { p = nullptr; } Piece(int r, int c, int (*pp)[NN]) { this->r = r; this->c = c; this->p = new int*[r]; for(int i = 0; i < r; i++) { this->p[i] = new int[c]; memcpy(this->p[i], pp[i], c * sizeof(int)); } } ~Piece() { cout<<"delete"<
p; } int getR() { return this->r; } int getC() { return this->c; } int ** getP() { return this->p; }};int N;int r, c;int m[10][10];Piece piece[NN];int pi = 0;void dump(){ for(int i = 0; i < pi; i++) { for(int j = 0; j < piece[i].getR(); j++) { for(int k = 0; k < piece[i].getC(); k++) { cout << piece[i].getP()[j][k]; } cout << endl; } cout << endl; }}int main(){ freopen("d://1.text", "r", stdin); while (cin >> N && N) { memset(m, 0, sizeof(m)); memset(piece, 0, sizeof(piece)); int p[NN][NN]; pi = 0; for(int i = 1; i <= N; i++) { scanf("%d %d", &r, &c); for(int j = 0; j < r; j++) for(int k = 0; k < c; k++) { char t; cin >> t; if(t == '0') p[j][k] = 0; else p[j][k] = i; } Piece pp(r, c, p); piece[pi++] = pp; cout<<"for end"<

输出

for end  //循环结束输出

delete   //删除pp对象
main end //main函数结束

//下面是5个delete 和 const int NN=5对应

delete 

delete
delete
delete
delete

//所以, delete 0 永远都是安全的

//注意前面有个  

memset(piece, 0, sizeof(piece));

 

posted on
2018-06-11 00:26 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/9165200.html

你可能感兴趣的文章
80后创业的经验谈(转,朴实但实用!推荐)
查看>>
让Windows图片查看器和windows资源管理器显示WebP格式
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
vim使用点滴
查看>>
embedded linux学习中几个需要明确的概念
查看>>
mysql常用语法
查看>>
Morris ajax
查看>>
【Docker学习笔记(四)】通过Nginx镜像快速搭建静态网站
查看>>
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
查看>>
<转>云主机配置OpenStack使用spice的方法
查看>>
java jvm GC 各个区内存参数设置
查看>>
[使用帮助] PHPCMS V9内容模块PC标签调用说明
查看>>
关于FreeBSD的CVSROOT的配置
查看>>
基于RBAC权限管理
查看>>
基于Internet的软件工程策略
查看>>
数学公式的英语读法
查看>>
留德十年
查看>>
迷人的卡耐基说话术
查看>>
PHP导出table为xls出现乱码解决方法
查看>>