首页 > 后端开发 > C++ > 为什么在 C 中'delete this”之后使用'this”是一个坏主意?

为什么在 C 中'delete this”之后使用'this”是一个坏主意?

Mary-Kate Olsen
发布: 2024-11-14 12:47:02
原创
834 人浏览过

Why is Using

“delete this”之后“this”的危险

C 中“delete this”结构的使用并非没有它的好处陷阱。虽然对其使用的前三个限制是可以理解的,但针对检查其价值或对其执行任何其他操作的第四个限制可能看起来令人困惑。毕竟,它只是一个指针,对吧?

这种看似任意的限制的原因在于调用“delete this”后“this”指针的值的未定义性质。这个未定义的值可能会导致不可预测的后果和潜在的灾难性行为。

例如,想象一下重新解释指向整数的“this”指针,然后尝试访问它。编译器可以自由地决定此操作是否需要擦除您的硬盘驱动器。虽然大多数编译器可能会表现得更合理,但在面对未定义行为时依赖它们的良性是一场危险的游戏。

为了避免未定义行为的风险,在删除指针之前复制指针是明智的做法。目的。这允许您继续使用副本,同时确保原始“this”指针的行为保持可预测的不可预测性。

以上是为什么在 C 中'delete this”之后使用'this”是一个坏主意?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板