home | help
std::_Exit(3)		       C++ Standard Libary		   std::_Exit(3)

NAME
     std::_Exit - std::_Exit

Synopsis
	Defined in header <cstdlib>
	[[noreturn]] void _Exit( int exit_code ) noexcept;  (since C++11)

	Causes	normal	program termination to occur without completely cleaning
     the
	resources.

	Destructors of variables with automatic, thread local and static storage
     durations
	are  not   called.   Functions	 passed   to   std::at_quick_exit()   or
     std::atexit() are not
	called.  Whether  open resources such as files are closed is implementa-
     tion defined.

	If exit_code is 0 or EXIT_SUCCESS, an implementation-defined status  in-
     dicating
	successful termination is returned to the host environment. If exit_code
     is
	EXIT_FAILURE,  an implementation-defined status, indicating unsuccessful
     termination,
	is returned. In other cases implementation-defined status value  is  re-
     turned.

Parameters
	exit_code - exit status of the program

Return value
	(none)

Example
     // Run this code

      #include <iostream>

      class Static
      {
      public:
	  ~Static()
	  {
	      std::cout << "Static dtor\n";
	  }
      };

      class Local
      {
      public:
	  ~Local()
	  {
	      std::cout << "Local dtor\n";
	  }
      };

      Static static_variable; // dtor of this object will *not* be called

      void atexit_handler()
      {
	  std::cout << "atexit handler\n";
      }

      int main()
      {
	  Local local_variable; // dtor of this object will *not* be called

	  // handler will *not* be called
	  const int result = std::atexit(atexit_handler);

	  if (result != 0)
	  {
	      std::cerr << "atexit registration failed\n";
	      return EXIT_FAILURE;
	  }

	  std::cout << "test" << std::endl; // flush from std::endl
	      // needs to be here, otherwise nothing will be printed
	  std::_Exit(EXIT_FAILURE);
      }

Output:
      test

See also
	abort causes abnormal program termination (without cleaning up)
	      (function)
	exit  causes normal program termination with cleaning up
	      (function)
	C documentation for
	_Exit

http://cppreference.com 	   2024.06.10			   std::_Exit(3)

home | help