我有两个类A
和B
,其中包含以下公共方法,用于向/从ostream / istream写入/读取数据:
class A {
void print( std::ostream & os = std::cout ) const ; // prints some data
};
class B {
void read( std::istream & is = std::cin ) ; // reads that data
};
咨询this thread后,我在客户端代码中使用std::stringstreams
将数据从A
传递到B
:
std::stringstream ss;
A a;
B b;
a.print(ss);
b.read(ss);
它的效果非常好。我的问题是:我怎样才能进一步优化它以避免复制开销?我正在查看a.read(b.print())
行中的内容,这自然需要B::print
返回继承istream
和ostream
的类型,但任何可行的解决方案都会跳过副本开销会起作用。