解构器和exit()C++之间的区别

  • 本文关键字:C++ 之间 区别 exit c++
  • 更新时间 :
  • 英文 :


在大学里,当我们专门学习C++时,我们总是被教导需要释放动态分配的内存,或者使用解构器关闭打开的文件。这和只使用操作系统调用出口(0(有什么区别?只是想知道。

它们不具有可比性。苹果和橙子

exit()是一个C库函数。Cpp参考告诉我们:

导致正常程序终止。

执行了几个清理步骤:

传递给atexit的
  • 函数被调用,调用顺序与注册顺序相反
  • 冲洗并关闭所有C流
  • tmpfile创建的文件将被删除

解构器是C++特有的特性。它是一个类成员函数,用于在对象超出范围时处理对象的清理。Cpp参考告诉我们:

析构函数是一种特殊的成员函数,在对象的生存期结束时调用。析构函数的目的是释放对象在其生存期内可能获得的资源。

您调用exit()一次,程序就会结束。同时,析构函数一直在执行。因为对象总是被创建并超出范围。想想局部变量就知道了。或者在复制对象的过程中。

最新更新