Da quando sono entrato in Scala ho iniziato a scrivere funzioni utilizzando la ricorsione a coda e ho appreso che i compilatori C++ supportano anche le funzioni ricorsive della coda. Ora sono curioso di sapere quanto sia affidabile quell'ottimizzazione, e va bene usarlo per cose come il mio ciclo principale o il prompt dei comandi?Scala/C++: funzione ricorsiva di coda invece del ciclo di input
prompt dei comandi Tradizionalmente che ho scritto come questo:
bool running = true;
string input;
while(running_){
input = getInput();
executeCommand(input);
if(input == "quit") running_ = false;
}
Ora sarebbe una brutta cosa per sostituire questo con una funzione ricorsiva di coda in questo modo?
string input = "nothing";
void parseInput(){
if(input != "nothing") executeCommand(input);
getline(cin, input);
if(input != "quit") parseInput();
}
idea fantastica! – UmNyobe