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+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告