【发布时间】:2013-06-21 14:54:11
【问题描述】:
我可以从空指针调用类的非静态、非虚拟方法吗?然后成员函数会测试 this==nullptr 是否为真,如果为真则立即返回。
我知道它在大多数情况下都有效,但这是保证结果吗?这样,我可以确保永远不会发生空指针异常,并避免在调用者代码的许多地方测试空指针。那是为了紧凑,我现在不打算这样做,但我很想知道是否有任何标准可以保证它工作......
谢谢!
【问题讨论】:
-
不,这是保证未定义的行为。
-
为什么我们要投票给提出问题清晰的人? Asker 想知道未定义的行为并且正在询问它,它甚至与提议的可能重复的措辞截然不同。
-
文章:还在比较“this”指针是否指向 Null? - viva64.com/en/b/0226
-
@Sqeaky - 另外,它的 2014 年和标准已经过修订。因此,以前的答案甚至可能不适用。它的经典 Could we please be a bit nicer to new users? 上面点缀着一点“我比你知道的多”。
标签: c++ function pointers null member