Ich verstehe nicht genau, was Sie hier erreichen wollen. Benutzercode sollte nicht von den Streams selbst erben, da die Streams eine generalisierte locale-spezifische Konvertierung/"stringizing" -Funktion bereitstellen sollen. Wenn Sie versuchen, ein ostream
zu verwenden, das in einen neuen Pufferspeicherort schreiben kann (dh einen gzip-Datenstrom), sollte man in der Regel von basic_streambuf
erben, was Ihnen erlaubt, die vorhandenen Iostream-Konvertierungseinrichtungen zu verwenden, aber Ihnen erlauben wird, ihre Daten umzuleiten Input-Output.
Wenn Sie alles über die Funktionsweise von iostream erfahren wollen, ist das beste Buch, das ich über dieses Thema gehört habe, Standard C++ IOStreams and Locales von Angelika Langer und Klaus Kreft. Ich kann mich nicht für das Buch verbürgen, weil ich meine Kopie noch erhalten habe (es ist nächste auf meiner Liste), aber Sie können mehrere Empfehlungen dafür hier auf StackOverflow finden.
Sie möchten wahrscheinlich auch einen Blick auf boost::iostreams werfen, die einige Helfer für alle bietet, die das Verhalten des Iostream-Systems anpassen möchten.
Was genau möchten Sie erreichen? –