此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