社区
C++ 语言
帖子详情
delete this 有什么后果?
bamboostflying
2006-11-24 09:36:01
我的一个class A{
public:
A *pThis ;
void Func();
}
A::A()
{
pThis = this;
}
void A::Func()
{
A *a = new A;
//do something to a
delete pThis;
pThis = a;
}
这样操作后,没有发现程序异常,只是this指向的类怎么都没有初始化
过一会不知道做了什么操作以后,this又指向次类了?
能解释一下吗
...全文
292
10
打赏
收藏
delete this 有什么后果?
我的一个class A{ public: A *pThis ; void Func(); } A::A() { pThis = this; } void A::Func() { A *a = new A; //do something to a delete pThis; pThis = a; } 这样操作后,没有发现程序异常,只是this指向的类怎么都没有初始化 过一会不知道做了什么操作以后,this又指向次类了? 能解释一下吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taodm
2006-11-24
打赏
举报
回复
汗!delete this后就不可以再对这个对象做任何访问了。
alan001
2006-11-24
打赏
举报
回复
delete p;后空间释放,但p不会变成NULL.............
KthTes
2006-11-24
打赏
举报
回复
楼主这个delete this似乎没啥必要。
KthTes
2006-11-24
打赏
举报
回复
delete this是在类不知道什么时候被干躺的时候才用的。比如A类对象要同时被B,C干,BC双方互相不知道对方什么时候干完,于是只能添加一个“引用计数”,让A自己决定什么时候自杀。
jixingzhong
2006-11-24
打赏
举报
回复
指针 只是指向一个地址,
delete 只是 析构+释放 某个地址内的对象,
两者不冲突 ...
只是 在 delete 后,
如果指针还在这里,
运行会 出错 ....
huangyangman
2006-11-24
打赏
举报
回复
调用Func()的对象是new出来的吗?
vigorous001
2006-11-24
打赏
举报
回复
//我要是不delete pThis,只把pThis = a;那内存岂不是泄漏了?
不会泄漏吧,析构就行了。
westdot
2006-11-24
打赏
举报
回复
void A::Func()
{
A *a = new A;
//do something to a
delete pThis;
pThis = a;
}
delete pThis这句把本对象的内存空间释放了,你接着又pThis = a来访问pThis。显然是错的。
bamboostflying
2006-11-24
打赏
举报
回复
嗯 我想了想,不应该delete pThis, 这里我调用一下析构函数就行了 delete this肯定绘出问题
bamboostflying
2006-11-24
打赏
举报
回复
我要是不delete pThis,只把pThis = a;那内存岂不是泄漏了?
this指针和
delete
this
本文详细介绍了C++中的this指针,包括其作用、为什么引入this指针以及this指针是否可以为空。此外,还探讨了
delete
this的合法性,强调了使用
delete
this的条件和
后果
,以及对象使用new创建的原因。
在类的成员函数中能不能调用
delete
this?
探讨了在C++中类的成员函数中调用
delete
this的
后果
,分析了
delete
操作符的功能,类对象的内存模型,以及在析构函数中调用
delete
this导致的问题。
在类中调用
delete
this问题
本文探讨了C++中在成员函数内部使用
delete
this的行为及其
后果
,包括对象内存释放后的状态及对成员函数调用的影响。文章通过实例演示了
delete
this后对象成员的变化,并分析了操作系统内存管理策略对这一行为的影响。
在类的成员函数中调用
delete
this
探讨了在C++中成员函数内调用
delete
this的行为及其
后果
,包括指针错误和潜在的系统崩溃风险,特别是在析构函数中的使用。
在类的成员函数中调用
delete
this(转载从东郭先生)
本文探讨了在C++类的成员函数中调用
delete
this的行为及其
后果
,包括潜在的指针错误和堆栈溢出风险,并解释了底层原理。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章