在 C 中,“删除这个”结构带来了有趣的含义。虽然围绕其使用的前三个限制似乎是合理的,但第四个限制禁止在删除“this”时与“this”进行任何交互,这引发了一个问题:为什么?
该限制禁止诸如检查或比较其值、强制转换它之类的操作,甚至打印它。这是因为在调用“delete this”后,“this”的值变得未定义,从而导致涉及它的任何后续操作也未定义。
尽管某些编译器可能会执行合理的操作,但 C 语言无法保证规格。编译器保留进行意外行为的特权,这可能会损害系统的完整性。因此,应始终避免调用未定义的行为。
为了规避此限制,可以在执行“delete this”之前复制“this”指针(作为整数)。这将保留“this”的原始值,从而使后续操作不会遇到未定义的行为。
以上是为什么在 C 中'删除此”后无法访问'此”?的详细内容。更多信息请关注PHP中文网其他相关文章!