C ++使用ostringstream移动语义

时间:2014-08-31 17:29:37

标签: c++ move

如果某个函数收到std::string&&,是否有办法传递ostringstream而不创建一个完全复制底层缓冲区的临时流?

1 个答案:

答案 0 :(得分:1)

最终你必须复制缓冲区,因为它与std::string所需的结构不同,并且没有std::string移动构造函数接受std::ostringstream&&std::ostringstream::str()方法将缓冲区的值复制到std::string实例中。然后,您可以使用接受std::string&&的方法移动该字符串。