gpt4 book ai didi

c++ - 退出控制台 "FreeConsole (void)"、 "return 0"或 "exit (EXIT_SUCCESS)"哪个更好?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:18:59 25 4
gpt4 key购买 nike

我知道 return vs exit() 之间的区别.
我想知道它们与 FreeConsole() 有何不同。

  1. FreeConsole()是一个API函数

  2. (scope: main function)return 是 C 中的语句。

  3. exit (EXIT_SUCCESS) 是一个函数调用。

您想在 C 中使用哪个来退出程序,为什么?

最佳答案

在 C 中,调用 exit 等同于从 main 返回。

在 C++ 中,调用 exit 将绕过堆栈展开,因此不会正确调用析构函数(IOW,您几乎总是想避免它)。

FreeConsole 在不退出程序的情况下释放控制台。释放控制台后,该进程可以继续执行分离。因此,它实际上什至不等同于其他两个中的任何一个。当然,FreeConsole 是一个 Win32 API 函数,因此使用它也会使代码不可移植。

关于c++ - 退出控制台 "FreeConsole (void)"、 "return 0"或 "exit (EXIT_SUCCESS)"哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20100816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com