关于void*类型指针的一些测试
2011-07-24 18:03
344 查看
#include <iostream> class ProcessData { public: ProcessData() { std::cout << "Construction" << std::endl; } ~ProcessData() { std::cout << "Destruction" << std::endl; } }; // case1: // result: Construction Destruction int main() { ProcessData* pProcessData = new ProcessData; if(0 != pProcessData) delete pProcessData, pProcessData = 0; return 0; } // case2: // result: Construction // 不调用析构函数 int main() { ProcessData* pProcessData = new ProcessData; void* pvProcessData = reinterpret_cast<void*>(pProcessData); pProcessData = 0; if(0 != pvProcessData) delete pvProcessData, pvProcessData = 0; if(0 != pProcessData) delete pProcessData, pPorcessData = 0; return 0; } // case3: // result: Construction Destruction // 仍然调用析构函数 int main() { ProcessData* pProcessData = new ProcessData; void* pvProcessData = reinterpret_cast<void*>(pProcessData);; pProcessData = 0; pProcessData = reinterpret_cast<ProcessData*>(pvProcessData); pvProcessData = 0; if(0 != pProcessData) delete pProcessData, pProcessData = 0; return 0; }
相关文章推荐
- 关于C指针和数据类型的测试
- 关于指针,对象周期,构造函数等的一些测试
- 关于void编程规范、void*(指针)、(void*)类型转换的详解
- 关于OSG智能指针 osg::ref_ptr 的一些测试
- 关于对 (char *)字符指针强制转换类型的一些理解
- 关于C++指针类型所占大小的测试
- 关于函数指针类型强制转换的一些摸索
- 关于void*类型的用法(目前自己所能想到的)
- 关于内存和指针操作,数据类型转换本质的理解
- 关于cts测试的一些总结(二)
- 关于不同类型的结构体的数组的读取和保存的测试程序
- Sleepless in Test---测试小兵关于软件测试的一些思考
- 关于指针和数组对申请内存malloc和作为参数传递的一些问题
- 关于侯垒的自增字段和GUID字段性能对比文章的一些自己的分析(没有测试,纯粹分析)
- 关于C++中对象指针的一些用法
- 一个关于JavaScript引用数据类型指针的小题
- C语言函数返回类型为指针时的一些问题
- C/C++下void*类型指针介绍
- [初]snail关于C++指针与内存管理的一些备忘
- 软件测试思想者 - 关于朋友聚会的一些看法