pointer_1
来源:互联网 发布:excel删除一列数据 编辑:程序博客网 时间:2024/06/13 21:01
#include <iostream>using namespace std;class A{public: A(); ~A(); void SetNextPtr(A *ptr) { pNext = ptr; }private: double m_d1; A *pNext; };A::A(){ pNext = NULL; m_d1 = 0.0;}A::~A(){ if(pNext) { delete pNext; pNext = NULL; } }int main(){ // 下面的两行代码调用类A的构造函数 A *ptr1 = new A(); A *ptr2 = new A(); cout << sizeof(A) << endl; cout << sizeof((*ptr1)) << endl; ptr2->SetNextPtr(ptr1); ptr1->SetNextPtr(ptr2); // delete ptr1; 会调用ptr1指向类的析构函数,析构函数里面又调用delete // 造成一个指针被删除2次以上,程序抛出异常 delete ptr1; delete ptr2; system("pause"); return 0;}
阅读全文
0 0
- pointer_1
- java修饰符总结(为了应试,稍微总结了一下,不考的就不总结了)
- 栈应用于括号匹配
- 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
- 《露珠》(加夫列拉·米斯特拉尔)
- C++/C++11中std::list双向链表的使用
- pointer_1
- HDU 5953 Game of Taking Stones(威佐夫博弈+高精度+二分)——The 2016 ACM-ICPC Asia Dalian Regional Contest
- 牛腩总结(二)
- 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)
- java常考笔试题2
- innodb buffer pool管理--LRU插入
- Node.js 常用工具
- 链接时重定位
- Spark学习起步(二):sparkContext