Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ios_base::ios_base

      From cppreference.com
      <cpp‎ |io‎ |ios base
       
       
       
       
      (1)
      private:
      ios_base(const ios_base&);
      (until C++11)
      public:
      ios_base(const ios_base&)= delete;
      (since C++11)
      protected:
      ios_base();
      (2)
      1) The copy constructor isprivate(until C++11)deleted(since C++11): streams are not copyable.
      2) The default constructor is protected: only derived classes may constructstd::ios_base. The internal state is undefined after the construction. The derived class must callstd::basic_ios::init() to complete initialization before first use or before destructor; otherwise the behavior is undefined.

      [edit]Notes

      The same applies to the constructors of the next class in the I/O hierarchy,std::basic_ios. Further-derived classes (std::istream andstd::ostream) are always constructed with a concrete stream buffer object and callstd::basic_ios::init(), possibly more than once, to complete initialization of their virtual base.

      [edit]Defect reports

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

      DRApplied toBehavior as publishedCorrect behavior
      LWG 50C++98the copy constructor was not specifiedspecified as private
      LWG 220C++98the behavior of destroying astd::ios_base
      object before calling itsinit() was not clear
      the behavior is
      undefined in this case
      LWG 1249C++98initialization did not need to be completed before first usealso needs to be completed
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/ios_base/ios_base&oldid=156189"

      [8]ページ先頭

      ©2009-2025 Movatter.jp