其他分享
首页 > 其他分享> > QArrayData实现差异(QT6.2 VS QT5.12)

QArrayData实现差异(QT6.2 VS QT5.12)

作者:互联网

前言
QArrayData是QT的一个内部结构,用于管理一块连续的内存,QByteArrayQString等多个类都使用它来管理连续内存。
在QT6.2中,QArrayData相对于QT5.12进行了部分修改,本文列举了其中的主要修改。
参考:《QT5.12 QArrayData解析》

模式
QT5.12:QArrayData有三种模式,静态、非共享和共享模式。
QT6.2:QArrayData只有共享模式。

分配选项
QT5.12:QArrayData一共有5个分配选项
QT6.2:QArrayData保留了CapacityReservedGrow两个选项,并且将它们分别定义为数组选项和分配选项。

增长位置
QT5.12:QArrayData只能从结尾处增长。
QT6.2:QArrayData增加了GrowthPosition枚举表示增长位置,它有两个值GrowsAtEndGrowsAtBeginning,分别代表从结尾处和开始处增长、扩大QArrayData

额外数据
QT5.12:无额外数据。
QT6.2:除了像5.12一样分配数据空间和填充空间以外,还会分配一个字节或两个字节的额外空间,为QByteArrayQString放置结束符’\0’。

标签:选项,QT6.2,QT5.12,QArrayData,共享,分配
来源: https://blog.csdn.net/m0_46498786/article/details/121055686