class Foo {
public:
static const int kType = 42;
};
void Func() {
Foo *bar = NULL;
int x = bar->kType;
putc(x, stderr);
}
Ist dieses definierte Verhalten? Ich habe den C++ - Standard gelesen, konnte aber nichts über den Zugriff auf einen statischen const-Wert finden ... Ich habe die Assembly von GCC 4.2, Clang ++ und Visual Studio 2010 untersucht und keine von ihnen führt eine Dereferenzierung des NULL durch Zeiger, aber ich möchte sicher sein.C++ statischer const-Zugriff durch einen Nullzeiger
Die meisten Compiler sollten Sie über einen Instanzzeiger auf den Zugriff auf statische/const-Member warnen. – cHao