网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月18日
漏签
0
天
c++吧
关注:
650,034
贴子:
2,117,707
看贴
图片
吧主推荐
游戏
首页
上一页
1
2
3
4
5
下一页
尾页
61
回复贴,共
5
页
,跳到
页
确定
<<返回c++吧
>0< 加载中...
回复:程序运行到return 0之前还正常,然后就弹错误了,是怎么回事
收藏
回复
Son_of_Ligang
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
结果真就是这个问题。。
whatofor
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
void fun(int *p)
{
delete p;
p=0;
}
int main()
{
int *p=new int;
fun(p);
fun(p);
...
}
//你认为会出什么后果
2026-01-18 22:36:25
广告
不感兴趣
开通SVIP免广告
幻の上帝
->*
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
delete NULL安全。
Son_of_Ligang
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
貌似第一个对象的成员指针指向NULL和第二个对象的成员指针没有关系。。
Son_of_Ligang
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
当然你可以写个函数把其中一个对象的成员指针赋值为NULL。。
不过这样做很X疼。。
lostarthas
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
mingw编译运行均通过。。。
Son_of_Ligang
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个貌似。。后果还行?
萧の十三郎
*
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
有时候,调式了半天,甚至几天,发现原因是一个非常非常不起眼的小问题.足够让你崩溃的..
2026-01-18 22:30:25
广告
不感兴趣
开通SVIP免广告
lostarthas
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
额。。我是说在我出问题的那个情况下,就是没写拷贝构造函数,于是两个对象的指针重复指向了
这样也只是delete NULL啊。。。不该崩溃啊。。
Son_of_Ligang
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
他这个只有一个指针么。。所以可以。。你的不是。。所以会崩溃。。
还是按引用传吧。。深拷贝都不用写了。。偷懒的好东西。。
whatofor
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
int main()
{
int *p=new int;
delete p;
delete p;
system("pause");
return 0;
}
这样也能通过。。。
Son_of_Ligang
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你delete第一个对象的指针指向的堆内存,并赋为NULL。。一点问题都没有。。
但是第二个对象的指针还指着那块已经被delete掉一次的堆内存了,在delete之前并没有赋为NULL吧。。
Son_of_Ligang
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不是吧这个。。碉堡了。。
lostarthas
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
嗯。。确实好。。
两个指针重复指向看来很复杂。。暂时不研究了也罢。。
再次感谢你,以及楼上各位
2026-01-18 22:24:25
广告
不感兴趣
开通SVIP免广告
Son_of_Ligang
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
前辈。。。。。。
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示