Warum würde Code explizit eine statische Methode über einen Nullzeiger aufrufen?

Ich habe Code wie diesen in ein paar alten Projekten gesehen:

class Class {
    static void Method() {}
};

((Class*)0)->Method();

Dieser Code enthält undefiniertes Verhalten, da ein Nullzeiger dereferenziert wird (egal, was danach passiert). Es macht wirklich keinen Sinn - die Besetzung ist da, um den Typnamen an den Compiler weiterzuleiten, und wer auch immer den obigen Code geschrieben hat, könnte dies stattdessen geschrieben haben:

Class::Method();

und letzteres wäre okay.

Warum würde jemand den früheren Code schreiben? Ist es eine bekannte Redewendung aus guten alten Zeiten oder was?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage