- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
15小时前关门了。
截至14小时前,社区正在审查是否重新讨论这个问题。
Improve this question
void Stop() {
break;
}
int main() {
while (true) {
std::cout << "NO!" << '\n';
Stop();
}
std::cout << "YES!";
}
在我的项目中,我需要使用一个函数来结束while
,我如何改变这个无法编译的例子?
我有一个使用throw
的想法,但是其他更好的解决方案呢?
4条答案
按热度按时间osh3o9ms1#
实际上你不能这么做。在任何编程语言中,使用异常来管理控制流和业务逻辑都被认为是一种糟糕的做法。你可以做的是,你可以返回一个布尔标志来中断循环,例如,当这个条件太复杂而不能直接在循环中编码时:
oewdyzsn2#
这应该可以实现,但是这不是一个好的设计。对此持保留态度,这只是为了证明你需要改变什么才能实现它。
zvokhttg3#
让函数返回停止条件的值,我想这是一个简化的例子,在一真实的例子中,函数将带参数,返回
true
或false
(如果它总是无条件地停止循环,那么首先就不需要循环,因此也不需要函数停止循环):fjaof16o4#
你可以通过控制事情来做类似的事情。