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 AntwortenIch 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...