检查 this == nullptr 是否符合逻辑?
在 C 环境中,检查 this 是否为空通常被认为是无意义的为空。这是因为对空指针的任何方法调用都已经构成了未定义的行为,从而使基于此类检查的任何代码都是非标准的。
虽然从概念上讲 this == nullptr 意味着对象已被删除,但这是不能准确反映情况。使用空指针值调用此方法表明该方法是直接在空指针上调用的,还是在从空指针派生的引用上调用的。然而,这种情况的发生本质上与删除运算符或该类型的任何对象的存在无关。
某些实现,例如 VC 和 MFC,可能允许使用 this == 0。在这些实现中例如,专门为此类实现定制的库可以将其用作故障排除的权宜之计。但是,不鼓励这种做法,因为更有效的调试方法涉及利用断言进行条件检查。
以上是为什么在 C 中检查 `this == nullptr` 被认为是非逻辑的?的详细内容。更多信息请关注PHP中文网其他相关文章!