我在C ++中有一个函数,该函数将流作为输入:
std::ostream& operator<<(std::ostream &o, XObj x);
将x
的内容打印到o
。
我为C ++ / CLI中的XObj
类编写了一个包装器,该包装器具有将对象内容写入流的功能:
void XObj_wrapper::to_stream(System::IO::Stream ^s);
包装函数构造一个std::stringstream
,调用上述的operator<<
来填充字符串流,最后将字符串流的内容转储到s
中。它可以工作,但是我担心的是函数的速度:它将包装对象的内容转储到中间数据结构(字符串流),然后将其输出到s
。
我的问题是,这可以有效地完成吗,即没有中间数据结构?