Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ios_base::Init

      From cppreference.com
      <cpp‎ |io‎ |ios base
       
       
       
       
      class Init;

      This class is used to ensure that the default C++ streams (std::cin,std::cout, etc.) are properly initialized and destructed. The class tracks how many instances of it are created and initializes the C++ streams when the first instance is constructed as well as flushes the output streams when the last instance is destructed.

      The header<iostream> behaves as if it defines (directly or indirectly) an instance ofstd::ios_base::Init with static storage duration: this makes it safe to access the standard I/O streams in the constructors and destructors of static objects withordered initialization (as long as<iostream> is included in the translation unit before these objects were defined).

      EachC++ library module in ahosted implementation behaves as if it contains aninterface unit that defines anunexportedstd::ios_base::Init variable withordered initialization.

      As a result, the definition of that variable is appearance-ordered before any declaration following the point of importation of a C++ library module. Whether such a definition exists is unobservable by a program that does not reference any of the standard iostream objects.

      (since C++23)

      [edit]Member functions

      (constructor)
      initializes the default C++ streams if they have not been created yet
      (public member function)
      (destructor)
      flushes the default C++ streams if*this is the last instance to be destroyed
      (public member function)

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 1123C++98the behaviors of the constructor and the destructor
      depend on an exposition-only static data memberinit_cnt
      removed the dependency

      [edit]See also

      reads from the standard C input streamstdin
      (global object)[edit]
      writes to the standard C output streamstdout
      (global object)[edit]
      writes to the standard C error streamstderr, unbuffered
      (global object)[edit]
      writes to the standard C error streamstderr
      (global object)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/ios_base/Init&oldid=155575"

      [8]ページ先頭

      ©2009-2025 Movatter.jp