简单的C++程序。需要澄清“不良编码实践”

问题描述 投票:0回答:1

enter image description here

基本上我使用了 exit(0);在 if 语句中退出程序,就像我的教授想要的那样。他惊呼程序执行:7/7 我的所有测试用例都正确执行。好!

源代码:2.5/3 未初始化:重复、字符 您已呼叫 exit 以便尽早逃脱。不要这样做。 (不要使用任何构造提前转义循环。您正在使用它来修补一些草率的代码。)

我应该使用 return 而不是使用 exit 吗?为什么这被认为是草率的代码?我还可以使用哪些其他替代方案?

使用返回0;而不是使用 exit(0);

c++ if-statement return-value exit
1个回答
0
投票

通常不建议使用

exit(0)
从函数或 if 语句中终止程序,因为它会立即终止整个程序,绕过可能需要运行的任何清理代码或析构函数。它被认为是草率的,因为它是一种突然结束程序的生硬方式,并且可能导致资源泄漏或其他意外行为。

最好使用

exit(0)
,而不是使用
return 0;
,尤其是当您位于函数或
main()
函数内部时。
return
允许程序优雅退出,在终止之前执行任何必要的清理代码或析构函数。

使用

exit(0)
return
终止程序的一些替代方法包括:

  1. 使用
    break
    语句打破循环。
  2. 设置标志或条件来指示程序何时应终止,然后根据这些条件退出循环或函数。
  3. 抛出异常(如果您使用的是支持异常的语言)来处理异常情况并优雅地退出程序。

总的来说,使用

return
而不是
exit()
可以让程序遵循正常的控制流程并优雅地处理终止,从而使代码更简洁、更易于维护。

© www.soinside.com 2019 - 2024. All rights reserved.