本篇将单独总结QString类。相比于C++ Std中的string来说,QString要好用的多。QString用来存储和处理字符串,其采用的是Unicode码,每个字符是一个16位的QChar(不是8位的char),所以QString同样可以处理中文字符,而且一个汉字算作一个字符。同时,QString应用了隐式共享以减少内存的使用,避免不必要的内存拷贝。
初始化
最简单和常见的QString初始化方法就是直接用const char *赋值:
QString str = "hello";
QString str("hello"); //str的size是5
也可以用QChar数组初始化,这实际上是从QChar到QString的一个深度拷贝(可参见拷贝构造函数):
static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };
QString str(data, 4);