Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::_Exit

      From cppreference.com
      <cpp‎ |utility‎ |program
       
       
      Utilities library
       
       
      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 tostd::at_quick_exit() orstd::atexit() are not called. Whether open resources such as files are closed is implementation defined.

      Ifexit_code is0 orEXIT_SUCCESS, an implementation-defined status indicating successful termination is returned to the host environment. Ifexit_code isEXIT_FAILURE, an implementation-defined status, indicatingunsuccessful termination, is returned. In other cases implementation-defined status value is returned.

      A freestanding implementation is required to providestd::_Exit.

      (since C++23)

      Contents

      [edit]Parameters

      exit_code - exit status of the program

      [edit]Return value

      (none)

      [edit]Notes

      Although_Exit is required to be freestanding since C++23, it is not required to be available in a freestanding C implementation.

      [edit]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 calledconstint result=std::atexit(atexit_handler); if(result!=0){std::cerr<<"atexit registration failed\n";returnEXIT_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

      [edit]See also

      causes abnormal program termination (without cleaning up)
      (function)[edit]
      causes normal program termination with cleaning up
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/program/_Exit&oldid=178765"

      [8]ページ先頭

      ©2009-2025 Movatter.jp