Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++를 사용하는 Main()의 Return 문 대 Exit()


 

프로그래머라면 코드를 작성합니다. 코드를 작성하는 경우 함수를 사용합니다. 함수를 사용하는 경우 모든 함수에서 return 및 exit 문을 사용합니다. 따라서 이 기사에서는 return 문과 exit 문에 대해 설명하고 차이점에 대해 설명합니다.

C++에서

  • return은 실행 흐름의 제어를 호출하는 함수에 반환하는 문입니다.
  • Exit 문은 사용된 지점에서 프로그램을 종료합니다.

int main()

여기에서 프로그램 실행이 시작됩니다. 프로그램은 main() 함수에서 실행되며 반환 유형 대신 int가 있으므로 일부 정수 값을 반환해야 합니다. 이 정수는 프로그램의 상태를 나타냅니다. 여기서 0은 프로그램이 성공적으로 실행됨을 의미합니다. 0이 아닌 값은 코드에 실행 오류가 있음을 의미합니다.

main() 함수의 return 문

return 문은 항상 호출 중인 함수에 흐름 제어를 반환합니다. Return은 int 값인 종료 코드를 사용하여 호출 함수로 돌아갑니다. 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이 클래스 객체의 생성자와 소멸자를 호출한다고 말할 수 있습니다. 소멸자를 호출하는 것은 할당된 메모리를 해제하는 데 필수적입니다.

주 함수의 Exit() 문

Exit() 문은 프로그램이 사용된 지점에서 프로그램을 종료합니다. 주 함수에서 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 문의 차이점을 이해합니다. 우리는 그것들을 사용하는 것이 우리 프로그램에서 많은 차이를 만든다는 차이점으로부터 결론을 내릴 수 있습니다. 복귀보다 출구를 사용하려면 예방 조치가 필요합니다. 그러나 한 페이지의 코드에는 큰 영향을 미치지 않으며 소프트웨어를 개발할 때 많은 영향을 미칩니다. 이 기사가 도움이 되기를 바랍니다.