C++中干净高效的字符串连接

Clean and Efficient String concatenation in C++

本文关键字:字符串 连接 高效 C++      更新时间:2023-10-16

我想在C++中加入数千个字符串。我无法从可能的输出字符串的大小之前知道。目前,我使用"+"运算符连接字符串。

不幸的是,这个过程在我的程序中花费了很多时间。

在Java中,我会使用StringJoiner,它的速度要快得多。C++有类似的东西吗?

我在网上读过类似的东西,我也读过这个问题,但它已经很老了(9 岁),我想从那以后情况发生了变化。

考虑使用头文件sstream中定义的std::ostringstream

通过使用operator <<添加数据。

通过调用str()获得的最后一个字符串。

您可以使用sstringstream(std::sstringstream) .请参阅cppref上有关它的文档

您也可以使用boost来连接字符串或使用boost::algorithm::join将列表转换为字符串,但根据您的项目,这将是矫枉过正