摘要: 析构函数确保对象的各部分被正确的清除,及做一些用户指定的其他清理工作。当对象超出它的作用域时,编译器将自动调用析构函数;手动用new在堆上分配的对象空间,需要调用'delete 对象地址'进行手动清除, delete 语句 先调用该对象的析构函数,然后释放内存 1 #include 2 #incl... 阅读全文
posted @ 2015-06-27 21:04 asnjudy 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 由容器PStash的使用者,负责清除容器中的所有指针。所以用户必须记住放到容器中的是什么类型,在取出时,把取出的void指针转换成对应的类型指针,然后 'delete 转换后的对象指针',才能在清除时调到对象的析构函数。析构函数的作用:确保对象的各部分被正确的清除,及做一些用户指定的其他清理工作。1... 阅读全文
posted @ 2015-06-27 20:07 asnjudy 阅读(323) 评论(0) 推荐(0) 编辑
摘要: delete 对象地址;delete 首先调用待清除对象的析构函数,然后释放内存如果delete一个void指针,唯一发生的事情就是释放了内存。因为通过void指针,无法知道对象的类型,就无法调用其析构函数。delete []books;[]告诉编译器,books实际上是一个对象数组的起始地址。该代... 阅读全文
posted @ 2015-06-27 17:35 asnjudy 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1 该栈只用于存在int型数据 1 #include "../require.h" 2 #include 3 4 using namespace std; 5 6 7 class IntStack 8 { 9 enum { ssize = 20 }; 10 ... 阅读全文
posted @ 2015-06-27 17:11 asnjudy 阅读(455) 评论(0) 推荐(0) 编辑