Bedingte C / C ++ - Rückgabeanweisungen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Es ist effizienter, if-return-return oder if-else-return zu verwenden? 9 Antworten

Ich arbeite an einem eingebetteten Programm und möchte in bestimmten Fällen, wenn eine Bedingung nicht beabsichtigt ist, so schnell wie möglich von der Funktion zurückkehren. wenn ich den folgenden Code habe und Embedded-Programmierung mache:

foo() {
   if (a < b) {
       return 0;  // bail, since condition is met
   } else {
       // lots of calculations in this block
   }
   return 1;
}

Meine Frage ist, ist es schlecht, mehrere return-Anweisungen zu haben? Ist es schlechte Praxis? Gibt es bessere Methoden? Sagt MISRA etwas darüber?

HINWEIS: Diese Frage betrifft speziell eingebettete Systeme und hat mit MISRA nicht nur mit C / C ++ zu tun

Vielen Dank...

Antworten auf die Frage(5)

Ihre Antwort auf die Frage