タグ付けされた質問 「design-rationale」

2
なぜ `std :: basic_ios`にパブリックコンストラクタがあるのですか?
std::basic_iosパブリックコンストラクタがあります: explicit basic_ios (std::basic_streambuf<CharT,Traits>* sb); IMO、クラスがパブリックコンストラクターを持つ唯一の理由は、プログラムでそのクラスのスタンドアロンインスタンスを使用することです。クラスが存在し、他のクラスがそのクラスの子孫である場合のみ(の場合のようにbasic_ios)、クラスのすべてのコンストラクターはでなければなりませんprotected。のコンストラクタstd::ios_baseはすべて保護されています。しかし、何らかの理由で、標準の設計者はこれをbasic_iospublicの1つのコンストラクターにしました。 basic_iosは、いくつかのストリームタイプの基本クラスとして使用されます。少なくとも、basic_istreamまたはでなかった使用例を想定することはできませんbasic_ostream。ありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.