我正在编写一个C ++应用程序,它使用iostream实例从Web服务中累积和消化大量二进制数据(10M +)。由于多种原因,该流是首选,但最重要的是易于与第三方基于流的API集成,而不需要在类型之间进行转换时使用内存中的副本。
当我完成消化数据时,我想明确释放iostream实例下面的内存。我确信当实例超出范围时将释放内存,但由于我将其传递给API,我不确定它是否会得到有效处理。如果我使用的是字符串流,我可以调用std::stringstream.clear(); std::stringstream.str(std::string());
。是否有类似的方式明确'重置'一个iostream?
提前致谢。
答案 0 :(得分:0)
解决方案是使用std::stringstream
。 std::iostream
对象太抽象,无法实现。