我找到了朋友的Qt代码,他在两个QString
上使用了模运算符:
QString result = oneString % twoString;
这是什么意思?
答案 0 :(得分:13)
QString
的另一种(更有效的)方法
QStringBuilder使用表达式模板并重新实现'%' 运算符,以便当您使用'%'进行字符串连接而不是 '+',多个子串连接将被推迟到 最终结果即将分配给QString。此时, 最终结果所需的内存量是已知的。记忆 然后调用一次allocator以获得所需的空间,并且 子串被逐一复制到其中。
答案 1 :(得分:6)
这是Qt特定的字符串构造方式。看一下这个page。
QStringBuilder使用表达式模板并重新实现'%' 操作员,以便在您使用'%'用于字符串连接而不是 ' +',多个子串连接将被推迟到 最终结果即将分配给QString。此时, 最终结果所需的内存量是已知的。记忆 然后调用一次allocator以获得所需的空间,并且 子串被逐一复制到其中。