QArrayData实现差异(QT6.2 VS QT5.12)
作者:互联网
前言
QArrayData
是QT的一个内部结构,用于管理一块连续的内存,QByteArray
、QString
等多个类都使用它来管理连续内存。
在QT6.2中,QArrayData
相对于QT5.12进行了部分修改,本文列举了其中的主要修改。
参考:《QT5.12 QArrayData解析》
模式
QT5.12:QArrayData
有三种模式,静态、非共享和共享模式。
QT6.2:QArrayData
只有共享模式。
分配选项
QT5.12:QArrayData
一共有5个分配选项
QT6.2:QArrayData
保留了CapacityReserved
和Grow
两个选项,并且将它们分别定义为数组选项和分配选项。
增长位置
QT5.12:QArrayData
只能从结尾处增长。
QT6.2:QArrayData
增加了GrowthPosition
枚举表示增长位置,它有两个值GrowsAtEnd
和GrowsAtBeginning
,分别代表从结尾处和开始处增长、扩大QArrayData
。
额外数据
QT5.12:无额外数据。
QT6.2:除了像5.12一样分配数据空间和填充空间以外,还会分配一个字节或两个字节的额外空间,为QByteArray
和QString
放置结束符’\0’。
标签:选项,QT6.2,QT5.12,QArrayData,共享,分配 来源: https://blog.csdn.net/m0_46498786/article/details/121055686