全站数据
8 4 2 0 5 8 1

c++中怎样判断指针是否是野指针

IT程序狮 | 简单学习,快乐成才!         
问题更新日期:2024-10-16 07:39:51

问题描述

c++中怎样判断指针是否是野指针希望能解答下
精选答案
最佳答案

无法判断,一般的做法是把malloc和free包装以后使用,再加入适当的调试代码。可以参考:编写无错的C程序的秘诀的电子版。比如:free(p)包装一个函数:

void Free(void *p) {

if (p != NULL) {

free(p);

p = NULL;

}

}

至于malloc,一般的做法是分配size个字节的内存时,多分配一个调试用的结构体,然后把这些结构体做成链表,可以通过查看这个链表找到野指针。