Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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	clean-
       ing 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 implemen-
       tation defined.

	  If  exit_code	is 0 or	EXIT_SUCCESS, an implementation-defined	status
       indicating
	  successful termination is  returned  to  the	host  environment.  If
       exit_code is
	  EXIT_FAILURE,	 an  implementation-defined  status, indicating	unsuc-
       cessful termination,
	  is returned. In other	cases implementation-defined status  value  is
       returned.

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)

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::_Exit&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help