Declaraciones de retorno condicionales de C / C ++ [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Es más eficiente usar if-return-return o if-else-return? 9 respuestas

Estoy trabajando en un programa integrado y, en ciertos casos, si una condición no está prevista, me gustaría volver de la función lo más rápido posible. Si tengo el siguiente código y estoy haciendo programación embebida:

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

Mi pregunta es, ¿es malo tener múltiples declaraciones de devolución? ¿Es una mala práctica? ¿Hay mejores métodos? ¿MISRA dice algo al respecto?

NOTA: Esta pregunta es específica de los sistemas integrados, tiene que ver con MISRA no solo con C / C ++

Gracias...

Respuestas a la pregunta(5)

Su respuesta a la pregunta