繁体   English   中英

有没有办法 std::move std::string 到 std::stringstream

[英]Is there a way to std::move std::string into std::stringstream

在C ++引用我没有看到std::stringstream构造函数接受的右值引用std::string 是否有任何其他辅助函数可以在没有开销的情况下将字符串移动到字符串流,或者是否有特殊原因进行这种限制?

我没有看到std::stringstream构造函数接受std::string右值引用

这是正确的。 甚至str setter 也不使用移动语义,因此不支持将字符串移动到stringstream中(不在当前标准中,但希望在下一个标准中)。

您将能够在 C++20 中将字符串移动到字符串流中。

构造函数支持移动语义:

std::string myString{ "..." };
std::stringstream myStream{ std::move(myString) };

也可以在构造后通过调用str()来完成:

std::string myString{ "..." };
std::stringstream myStream;
myStream.str(std::move(myString));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM