存储在QT容器中的数据必须是可赋值的数据类型,也就是说,这种数据类型必须提供一个默认的无参构造函数、一个复制构造函数和一个赋值操作运算符。
QString的隐式共享机制:又叫回写复制。当两个对象共享同一份数据时,通过浅拷贝实现数据块的共享,如果数据不改变,不进行数据的复制,而当某个对象需要改变数据时,则执行深拷贝。
QString的内存分配策略:在一个连续的内存块中保存字符串数据。当字符串的大小不断增长的时候,QString需要重新分配内存空间,以足以保存增加的字符串。QString使用的内存分配策略是:
1、每次分配4个字符空间,直到大小为20;
2、在20~4084之间,QString分配的内存块大小以2倍的速度增长,具体地讲,就是上一次分配的内存块大小的两倍再加12.
3、从4080开始,每次以2048个字符大小 的步长增长。
QRegExp类是正则表达式的表示类,它基于Perl的正则表达式语言。