现在如何弃用相同的strstream功能?

chi*_*ila 3 c++

我用来编写这样的代码:

void fun(char *buff, unsigned size)
{
    std::strstream str(buff, size);
    str << "hello world: " << 5;
}
Run Code Online (Sandbox Code Playgroud)

所以我可以在任意缓冲区上使用流输出.我发现这种技术既有效(无分配)又有用(流!).既然不推荐使用std :: strstream,我怎样才能获得与此代码相同的速度+灵活性?

Pet*_*der 5

标准库不提供该功能.但是,Boost使用其通用流和阵列源/接收器.

增强通用流
增强阵列器件

char buff[size];
boost::stream<boost::array_sink> out(buff, size);
out << "Hello, world!";
Run Code Online (Sandbox Code Playgroud)

(代码未经测试)