此C++代码的工作为我的平台和编译器(Windows中,GCC 4.7):在类的NULL指针实例上调用方法可以吗?
#include <stdio.h>
class A {
public:
/* ... */
int size() const
{
if (this == NULL) {
return 0;
}
return m_size;
}
private:
int m_size;
};
int main()
{
A* a = NULL;
printf("%d\n", a->size());
}
但就是这个代码有效的标准C++和便携式? 方法接受这个== NULL是否正确?
不,不行。!!!!!! – billz
这是未定义的行为 – Banex
我没有阅读标准,但我无法想象的东西说:“可以从空变量调用方法”。 – Unda