【发布时间】:2015-09-11 04:44:29
【问题描述】:
自从我接触 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();
}
【问题讨论】:
标签: c++ tail-recursion