让我们考虑一下这段代码:
struct config
{
int get( )
{
if ( this == nullptr ) return 1;
return value;
}
int value = 5;
};
config* c = nullptr;
int result = c->get();
这在clang和gcc中都有效(我认为在MSVC中也是如此)。这是(在nullptr指针上运行函数)未定义的行为吗?如果是这样(或不是)C ++标准中的哪个定义为UB或允许?