[英]inherit std::ostream
我想定義從std :: ostream公開繼承的MyOStream。 假設我想實現自己的ofstream。
如何才能做到這一點? 我會很高興任何幫助,編碼示例或任何相關鏈接......
謝謝!
我不明白你在這里想要完成什么。 用戶代碼不應從流本身繼承,因為流旨在提供通用的特定於語言環境的轉換/“字符串化”工具。 如果您正在嘗試使用可以寫入新緩沖區位置的ostream
(即gzip流),那么通常應該繼承自basic_streambuf
,這允許您使用現有的iostream轉換工具,但允許您重定向輸入輸出。
如果你想了解iostream本身如何運作的細節,我聽過的關於這個主題的最好的書是Angelika Langer和Klaus Kreft的標准C ++ IOStreams和Locales 。 我無法為這本書擔保,因為我還沒有得到我的副本(它是我的列表中的下一個),但你可以在StackOverflow上找到它的幾個建議。
您可能還想看看boost :: iostreams ,它為希望自定義iostream系統行為的人提供了一些幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.