C++ 中 main() 函数的 return 语句与 exit() 函数


如果你是一名程序员,你会编写代码;如果你编写代码,你会使用函数;如果你使用函数,你就会在每个函数中使用 return 和 exit 语句。因此,在本文中,我们将讨论 return 语句和 exit 语句是什么以及它们之间的区别。

在 C++ 中,

  • return 是一种将执行流程控制权返回给调用函数的语句。
  • Exit 语句在使用它的位置终止程序。

int main()

这是程序执行的起点。程序从 main() 函数开始执行,并且由于我们在返回类型的位置使用了 int,因此它必须返回某个整数值。我们可以说这个整数表示程序的状态,其中 0 表示程序成功执行。非零值表示代码中存在执行错误。

main() 函数中的 return 语句

return 语句始终将流程控制权返回给调用函数。Return 使用退出代码(即整数值)返回到调用函数。在 main 函数中使用 return 语句意味着以状态代码退出程序;例如,return 0 表示将状态代码 0 返回给操作系统。让我们看一个使用 return 语句的 C++ 程序。

示例

#include <iostream>
using namespace std;
class Test {
   public:
   //To activate Constructor
   Test() {
      cout<<"Hey this is Return Constructor \n";
   }

   //To activate Destructor
   ~Test() {
      cout<<"Hey this is return Destructor";
   }
};
int main() {
   //Creating object of Test class
   Test object;

   //Using return in main
   return 0;
}

输出

Hey this is Return Constructor
Hey this is return Destructor

查看上面的程序,我们可以说 return 调用了类对象的构造函数和析构函数。调用析构函数对于释放分配的内存至关重要。

main 函数中的 Exit() 语句

Exit() 语句在使用它的位置终止程序。当在 main 函数中使用 exit 关键字时,它将退出程序,而不会调用局部作用域对象的析构函数。任何创建的对象都不会被销毁,也不会释放内存;它只会终止程序。

示例

#include <iostream>
using namespace std;
class Test {
   public:
   //To activate Constructor
   Test() {
      cout<<"Hey this is exit Constructor \n";
   }

   //To activate Destructor
   ~Test() {
      cout<<"Hey this is exit Destructor";
   }
};
int main() {
   //Creating object of Test class
   Test object;

   //Using exit() in main
   exit(0);
}

输出

Hey this is exit Constructor

查看程序的输出,我们可以得出结论,在我们的程序中使用 exit 关键字意味着它不会调用析构函数来销毁分配的内存和局部作用域对象。

结论

在本文中,我们了解了 return 语句和 exit 语句之间的区别。我们可以从这些差异中得出结论,使用它们对我们的程序产生了很大影响。与 return 相比,使用 exit 需要谨慎。但是,它们对一段代码的影响不大,而在开发软件时影响很大。我们希望本文对您有所帮助。

更新于:2021年11月29日

3K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.