继承std::ostream

3
我想定义一个从std :: ostream公开继承的MyOStream。假设我想要实现自己的ofstream。
这应该怎么做呢?我将很高兴得到任何帮助,编码示例或任何相关链接...
谢谢!

1
你究竟想要实现什么目标? - Billy ONeal
1个回答

3
我不太明白你在这里试图实现什么。用户代码不应该从流本身继承,因为流旨在提供通用的本地化特定转换/字符串化功能。如果您想使用可以写入新缓冲区位置(即gzip流)的ostream,则通常应该继承basic_streambuf,这允许您使用现有的iostream转换工具,但允许您重定向其输入/输出。
如果您想了解iostream本身的操作细节,我听说关于这个主题最好的书是Angelika Langer和Klaus Kreft的Standard C++ IOStreams and Locales。我自己无法保证这本书,因为我还没有拿到它(它是我接下来要做的),但是您可以在StackOverflow上找到几个对它的推荐。
您可能还想看一下boost::iostreams,它为希望自定义iostream系统行为的任何人提供了一些辅助工具。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接