Declarações de retorno condicional de C / C ++ [duplicado]
Esta questão já tem uma resposta aqui:
É mais eficiente usar if-return-return ou if-else-return? 9 respostasEu estou trabalhando em programa embutido e, em certos casos, se uma condição não é significada, eu gostaria de retornar da função o mais rápido possível. se eu tenho o seguinte código e estou fazendo programação embutida:
foo() {
if (a < b) {
return 0; // bail, since condition is met
} else {
// lots of calculations in this block
}
return 1;
}
Minha pergunta é: é ruim ter várias declarações de retorno? Isso é uma prática ruim? Existem métodos melhores? MISRA diz alguma coisa sobre isso?
NOTA: Esta questão é particular para sistemas embarcados, tem a ver com MISRA não apenas C / C + +
Obrigado...