不要将两个指针变量指向同一块动态内存

原创 2013年12月04日 10:26:53
不要将两个指针变量指向同一块动态内存。这个容易引起很严重的问题。如果将两个指针变量指向同一块动态内存,而其中一个生命期结束释放了该动态内存,这个时候就会出现问题,另一个指针所指向的地址虽然被释放了但该指针并不等于NULL,这就是所谓的悬垂指针错误,这种错误很难被察觉,而且非常严重,因为这时该指针的值是随机的,可能指向一个系统内存而导致程序崩溃。但也就是因为值是随机的,所以运行程序时有时正常有时崩溃,这一点要特别注意。

关于多指针指向同一块内存的问题!

有时为了逻辑实现的方便,在程序中会采用多指针指向同一块内存的设计,但是这同时会带来问题: 问题1:容易引发“野指针”错误!即其中一个指针delete了内存之后,其他指针无法判断该指向地址是否...
  • ewzjs
  • ewzjs
  • 2017年09月15日 15:19
  • 158

不要将两个指针变量指向同一块动态内存

不要将两个指针变量指向同一块动态内存。这个容易引起很严重的问题。如果将两个指针变量指向同一块动态内存,而其中一个生命期结束释放了该动态内存,这个时候就会出现问题,另一个指针所指向的地址虽然被释放了但该...
  • feisy
  • feisy
  • 2013年12月04日 10:26
  • 2079

多个指针指向同一个对象

同类型的指针变量之间是可以相互赋值的person *p1 = [person new]; person *p2 = p1;这里是没有问题的,因为p1 和p2 的类型都是person指针类型的,代表将p...
  • yi_zz32
  • yi_zz32
  • 2015年09月20日 21:30
  • 1571

C语言之指针专题一:指针变量和指针所指向的内存空间是两个不同的概念

1、指针是一个变量,占用内存空间,用来保存地址
  • wu5215080
  • wu5215080
  • 2014年08月28日 19:50
  • 3121

指针数组、指向指针的指针变量、指向一维数组的指针变量 区别联系

8.3 指针数组与指向指针的指针变量    8.3.1 指针数组     如果数组元素都是相同类型的指针,则称这个数组为指针数组。所谓相同类型的指针是说指针所指向的对象类型是相同的。    例如,语句...
  • wangjiwei2010
  • wangjiwei2010
  • 2007年04月03日 10:41
  • 3061

两次free()或delete()同一个指针地址会怎么样。

#include "stdafx.h" #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //cout
  • ZHM977863924
  • ZHM977863924
  • 2015年03月27日 13:43
  • 1518

c++指针复制指向同一个位置问题

今天看primer c++遇到一个问题,希望以后能够解决,暂时保留此贴 #include #include #include using namespace std; class HasPtr...
  • chinabhlt
  • chinabhlt
  • 2015年04月07日 14:46
  • 778

指针变量以及指针变量的类型转换问题

先强调一点,免得以后忘记:通常我们所说的其实是指针变量,而不是指针。指针=变量的地址,指针变量则是存放变量地址的变量。所以要说指针变量,它的首要概念应该是:它本身是一个变量,然后再去理解他的行为与实现...
  • yacper
  • yacper
  • 2008年03月25日 15:55
  • 2489

两个指针变量不可以做什么

两个指针变量不可以做什么 A:加 B:减 C:比较 D:指向同一地址 解析: 编译器禁止内建指针进行加法运算,因为那是无意义的:如果作为整数相加,无法找到结果的有效语义。 指针减法的结果表示...
  • hezikui1987
  • hezikui1987
  • 2013年10月02日 15:15
  • 2040

两个指针(位置)的妙用

使用两个指针可以轻松的解决许多算法问题,归纳出如下几种 1、  判断链表是否带环 带环链表的判断是链表中经常考察的内容。一个循环链表可以无休止地遍历下去。我们可以定义两个指针,一个快指针一个慢指针,如...
  • dlengong
  • dlengong
  • 2012年04月01日 11:12
  • 3356
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不要将两个指针变量指向同一块动态内存
举报原因:
原因补充:

(最多只允许输入30个字)