我找到了我朋友的 Qt 代码,他在两个QString
s 上使用了模运算符,如下所示:
QString result = oneString % twoString;
这是什么意思?
QString
如手册中所述,这只是连接 s 的另一种(更有效)方法
QStringBuilder 使用表达式模板并重新实现 '%' 运算符,这样当您使用 '%' 而不是 '+' 进行字符串连接时,多个子字符串连接将被推迟,直到最终结果即将分配给 QString。此时,最终结果所需的内存量是已知的。然后调用内存分配器一次以获得所需的空间,并将子字符串一一复制到其中。
它是 Qt 特定的字符串构造方式。看看这个页面。
QStringBuilder 使用表达式模板并重新实现 '%' 运算符,这样当您使用 '%' 而不是 '+' 进行字符串连接时,多个子字符串连接将被推迟,直到最终结果即将分配给 QString。此时,最终结果所需的内存量是已知的。然后调用内存分配器一次以获得所需的空间,并将子字符串一一复制到其中。