标题:[求助]请问一个常指针的问题
只看楼主
帅加加
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-9-19
 问题点数:0 回复次数:13 
[求助]请问一个常指针的问题
在用delete释放一个指针后,通常把指针值置NULL。
可是char * const p这样的常指针怎么办呢?
p 的值是不可以改变的
请问大侠们这样的指针该怎样处理呢?
搜索更多相关主题的帖子: 常指针 
2006-09-24 16:19
触电
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-7-26
得分:0 

在用delete释放内存后要把指针值设为NULL吗?

应该不需要吧

2006-09-24 16:30
帅加加
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-9-19
得分:0 
这样可以避免误操作啊,我觉得更安全啊

只要你打不死劳资,劳资就要站起来
2006-09-24 16:33
触电
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-7-26
得分:0 
那你为什么一定要用常指针来new呢?
2006-09-24 17:39
帅加加
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-9-19
得分:0 
呵呵,说的也是,这确实是牛角尖问题

只要你打不死劳资,劳资就要站起来
2006-09-24 18:41
majia775
Rank: 1
等 级:新手上路
威 望:2
帖 子:94
专家分:0
注 册:2006-9-11
得分:0 
只要配对new,delete就行了

我不是随便的人,我随便起来不是人.... http://majia775.
2006-09-25 08:41
触电
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-7-26
得分:0 
不是..他的意思是你先用常指针new一下的话内存会把所分配的首址赋给指针,但是如果
用delete的话就会通过指针调用西够函数把内存收回.这不是就与常指针的定义所违背了吗?
这个问题我到是没想过..大家一起来看看啊
2006-09-25 08:54
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 

不会啊。

常指针指向的内存区被释放,为什么会与常指针的定义违背呢?

他只是告诉系统,这块区域可以被另外使用了。

并没有对常指针这个const型变量做改变啊。它的值仍然不变啊(尽管他的内容或许改变)

常指针也是会有生命周期的,为指针分配的内存会在块结束的位置回收


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-09-25 09:01
雨夜微醺
Rank: 1
等 级:新手上路
威 望:1
帖 子:147
专家分:0
注 册:2006-9-25
得分:0 

常指针怎么NEW啊,没有NEW,就没有DELETEDE的吧!


我若想到你就有种莫名的开心 我一见到你就有种莫名的悸动
2006-09-25 11:01
帅加加
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-9-19
得分:0 
听8楼一说我明白了。
虽然常指针的值是不可以改变的,但是它在生命周期结束时会被回收。
delete以后内存可以被其他使用,但是指针本身只有让其自生自灭了

只要你打不死劳资,劳资就要站起来
2006-09-25 11:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-92639-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.792271 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved