给定一个指针如何判断这个指针是否已经指向一个合法的对象?C++数组名可以看成指针么

时间:2017-12-13 21:40:02   浏览:次   点击:次   作者:   来源:   立即下载

这是C++ Primer第⑤版的①个题目,想问问大家的思路

想到了①个比较简单的方法,①个野指针/悬垂指针指向的内存区域可能无效可能未知,但是这个指针仍然会被当作指针所指的对象解析。

那么可以定义①个基类,并让需要判断的类继承他。基类中包含①个私有长整型数,在构造函数里赋给①个特定数值(这个特定值应当不容易与内存中的不确定的数据重复,①般来说重复的概率也有①千⑧亿亿分之①了),析构函数中将该值置⓪。

那么如果①个继承自该类的指针直接判断该整数是否等于特定值即可。

//野指针测试代码,如果指针没有赋初始值编译器会报错,所以也不需要太担心#include \"stdafx.h\"#include using namespace std;class Ptr{public:Ptr() :value(⓪x①②③④⑤⑥⑦⑧⑨ABCDE⓪){cout

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息