スカラになって以来、私はテール再帰を使用して関数を書くことを始め、C++コンパイラもそれをサポートし、テール再帰関数も最適化することを学びました。今、私は、最適化がどれほど確実であるかについて興味があり、メインループやコマンドプロンプトなどのためにそれを使用するのは大丈夫ですか?Scala/C++:入力ループではなくテール再帰関数
伝統的に、私はコマンドを書いたが、このように求められます:
bool running = true;
string input;
while(running_){
input = getInput();
executeCommand(input);
if(input == "quit") running_ = false;
}
今では、このような尾再帰関数でこれを置き換えるために悪いことでしょうか?
string input = "nothing";
void parseInput(){
if(input != "nothing") executeCommand(input);
getline(cin, input);
if(input != "quit") parseInput();
}
素晴らしいアイデア! – UmNyobe