class Foo {
public:
static const int kType = 42;
};
void Func() {
Foo *bar = NULL;
int x = bar->kType;
putc(x, stderr);
}
Это определенное поведение? Я прочитал стандарт С++, но не смог найти ничего о доступе к статическому значению const, как это... Я изучил сборку, подготовленную GCC 4.2, Clang++ и Visual Studio 2010, и ни один из них не выполняет разыменование NULL указатель, но я хотел бы быть уверен.