Was ist der Zweck eines 'if (0) - block-if-else-block?

Meine Frage ist, über die line, die ich erwähnt habe in dem Thema, und ich kann sehen, in vielen Orten innerhalb der Produktion von code.

Der gesamte code sieht wie folgt aus:

if (0) {
    //Empty braces
} else if (some_fn_call()) {
    //actual code
} else if (some_other_fn_call()) {
    //another actual code
    ...
} else {
    //default case
}

Die anderen Zweige sind irrelevant für meine Frage. Ich Frage mich, was die Bedeutung der Umsetzung if (0) hier ist. Die Klammern sind leer, so dass ich glaube nicht, dass es soll Kommentar einige code-block. Tut es Kraft der compiler, um einige Optimierungs-oder sind Ihre Absichten anders?

Ich habe versucht, die Suche für diesen expliziten Fall hier auf SO und auf im internet, aber ohne Erfolg. Es sind ähnliche Fragen, die über JavaScript, aber nicht in C. Es ist eine andere Frage, Was passiert, wenn eine null zugeordnet ist, in einem `if` - Bedingung?, aber es wird erörtert, null Zuordnung zu einer variable, nicht die 'if (0)' Nutzung selbst.

  • Kommentare sind nicht für längeren Gespräch; das Gespräch wurde verschoben zum chat.
  • Diese Aussage scheint irrelevant. Generieren von Assembler-code mit und ohne Anweisung und du wirst sehen, was Los ist unter der Haube.
  • Es ist möglich dies ist eine automatisch generierte code.
InformationsquelleAutor Zzaponka | 2018-11-14
Schreibe einen Kommentar