我听说在 C++ 中使用 goto 是一种不好的做法,尤其是在处理内存管理时。另一方面,使用递归调用将停止函数的当前实例并使其等待新实例停止,这可能会持续很长时间,直到它遇到停止条件。
是否有任何方法不使用递归或 goto 来让函数停止并重新启动自身或返回循环的开头?
您可以简单地使用无限循环,例如:
function dontLikeGotos() {
while(true) {
//whatever
}
}
是相同的
function yummiGotos() {
beginning:
//whatever
goto beginning;
}
作为记录,goto 在 Java 中不可用有几个原因。