Acesso const estático em C ++ por meio de um ponteiro NULL [duplicado]
Esta pergunta já tem uma resposta aqui:
c ++ acessa membros estáticos usando ponteiro nulo 4 respostasclass Foo {
public:
static const int kType = 42;
};
void Func() {
Foo *bar = NULL;
int x = bar->kType;
putc(x, stderr);
}
Esse comportamento é definido? Eu li o padrão C ++, mas não consegui encontrar nada sobre como acessar um valor const estático como este ... Examinei o assembly produzido pelo GCC 4.2, Clang ++ e Visual Studio 2010 e nenhum deles executa uma desreferência do NULL ponteiro, mas eu gostaria de ter certeza.