和记娱乐


网站导航

联系我们

和记娱乐

联系人: 

电 话:021-64057486

公司网址:http://www.happy123456789.com

   址:成都市松江区漕河泾松江新兴产业园区研展路丰产支路55号B座803室

邮编:201165


通信科技

您的当前位置: 和记娱乐主页 > 通信科技 >

Qt 中用于表示字符串的类 QString类的详细解读

发布日期:2020-03-09 11:52 来源:和记h88 发布人:和记娱乐 点击:

  QString 类是 Qt 中用于表示字符串的类,实现在 QtCore 共享库中。QString 类在实现上有以下特征。

  2)字符串的存储有引用计数,当一个 QString 对象被复制为另一个 QString 对象时,它们实际上指向相同的存储空间,仅仅是增加一个引用计数。

  3)采用 “按需复制” 的技术,当指向相同存储空间的多个 QString 对象中的一个要被修改时,将真正复制一个新的字符串并进行修改。

  由于存在这些构造函数,凡是可以用 QString 类作为参数的地方,都可以安全地使用 QChar 对象或普通的字符串。

  这些函数能够解析 QString 对象的内容,将其转换为相应的数值。其中 ok 参数指向一个 bool 型变量, 这个参数用于输出转换是否成功的信息。base参数则是转换为整数类型时的基。这些函数都不会改变 QString 对象自身。

  注意: 当字符串以 0x开头时,转换的基自动转换为16, 当字符串以0开头时,转换的基自动为8。

  将浮点数转换为字符串时,format 参数指定格式,precision 参数指定转换结果的精度,既有效数组的个数。注意这些函数会改变 QString 对象本身的值,而以下的函数则采用了不同的做法,它们返回一个新的临时对象以供使用:

  这里的 StringType 指的是 (const QString &)或 (const char *),哥也就是说,这些操作副既可以与 QString 对象比较,也可以与普通的字符串比较。它们的局限性是第一个操作数必须是 QString 对象,因此,Qt 中又定义了以下操作符:

  这里参数 from 是查找的起点,它可以为负数,-i 表示倒数第i个字符。查找的方向是从前往后。返回值是查找到的字符串或字符的,如果没有找到则返回 -1。

  以下的函数可以将另一个字符串或字符接在 QString 对象后面,形成一个整体的字符串:

  它们的返回值是 QString 对象自己的引用,也就是说,可以用在这个返回值再次调用函数,形成连续的字符串接续操作。

  它们的功能与 append 相同。由于 C++ 语言允许赋值操作符和复合赋值操作符的返回值作为左值使用,因此它们的返回值也被设计为 QString 对象自己的引用,故也可以连续操作。但由于复合赋值操作符的结合顺序是从右往左,要想先计算左边的操作数需要加括号。

  与 append 函数功能类似,以下的函数也能够将另一个字符串或字符与 QString 对象连接起来,但是接在原字符串的前面:

  从中间得到子字符串时,参数 position 是子字符串的起始,参数 n 是字符串的个数,如果n 为 -1,则表示一直到原字符串的结尾。

  空白字符包括空格、回车、换行、制表符等字符。下面这个函数不仅能去掉 QString 对象头尾的空白字符,还能将中间的连续多个空白字符全部替换成一个空格:

  注意加法操作符的两个操作数中必须至少有一个是 QString 对象,否则无法重载操作符。显然,加法操作副都不是 QString 类的。

  这样对 QString 对象的取字符操作就类似于对一个字符数组的操作。事实上,通过【】操作符得到的字符还可以被修改,要用到另外两个重载的【】操作符:

      和记娱乐,和记h88,h88平台官网