„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich aus einer Schleife innerhalb einer Switch-Anweisung in C++ ausbrechen?

Wie kann ich aus einer Schleife innerhalb einer Switch-Anweisung in C++ ausbrechen?

Veröffentlicht am 13.11.2024
Durchsuche:340

How to Break Out of a Loop from Within a Switch Statement in C  ?

Ausbrechen aus Schleifen innerhalb einer Switch-Anweisung

Beim Navigieren durch Code können Situationen auftreten, in denen Sie eine Schleife innerhalb einer Switch-Anweisung verlassen müssen eine switch-Anweisung. Betrachten Sie das folgende Szenario:

while(true) {
    switch(msg->state) {
    case MSGTYPE: // ... 
        break;
    // ... more stuff ...
    case DONE:
        **HERE, break out of the loop itself**
    }
}

Das Ziel besteht darin, eine elegante Möglichkeit zu finden, aus der umschließenden Schleife auszubrechen, ohne auf Flags oder bedingte Unterbrechungen zurückzugreifen.

Ein schneller Ausstieg: Verwenden von „goto“

Im Bereich C bietet die 'goto'-Anweisung eine einfache Lösung. Damit können Sie innerhalb der aktuellen Funktion zu einer bestimmten Beschriftung springen. Durch die Nutzung von „goto“ können Sie die Schleife innerhalb der switch-Anweisung sauber verlassen:

while ( ... ) {
   switch( ... ) {
     case ...:
         goto exit_loop;

   }
}
exit_loop: ;

Dieser Ansatz bietet eine prägnante und explizite Möglichkeit, die Schleife zu beenden. Beachten Sie, dass „goto“ sparsam verwendet werden sollte, um die Lesbarkeit des Codes zu gewährleisten. In bestimmten Situationen kann es jedoch eine einfache und effektive Lösung bieten.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3