Qt5是否有类似StringBuilder或StringBuffer的类?

arm*_*ali 3 c++ qt stream qt5

令人惊讶的是,Qt5已弃用StringBuilder以前版本中的类.我的另一个选择是使用QTextStream,这是不方便的,因为我有在写入缓冲区(如通过QFile,QString).

C++(std::stringstream),C#(StringBuilder)和Java(StringBuffer)都有这些类.Qt怎么样?

dem*_*lus 5

QStringBuilder不推荐使用.来自Qt docs:

在4.6中,添加了一个内部模板类QStringBuilder以及一些辅助函数.此类标记为内部,不会出现在文档中,因为您不打算在代码中实例化它.它的使用将是自动的,如下所述.如果你想查看它,可以在src/corelib/tools/qstringbuilder.cpp中找到该类.

他们的代码示例:

#include <QStringBuilder>

QString hello("hello");
QStringRef el(&hello, 2, 3);
QLatin1String world("world");
QString message =  hello % el % world % QChar('!');
Run Code Online (Sandbox Code Playgroud)

你可以使用你需要的C++中的所有东西std::stringstream.

  • 要小心,在C++ 11中,不要写`auto string = hello%world;`. (4认同)