QByteArray 动态内存使用方式

void QByteArray::reserve(int size)

QByteArray可以自动调整内存大小,如果希望提高性能,则可以使用reseve()函数来主动分动一段内存空间, 在内存释放之前再不能重复调用此函数,如:

QByteArray byteArray;
byteArray.reserve(20);  /*!<申请30个字节的空间*/

则该内存空间不会主动释放,须使用以下方式进行释放

byteArray.clear();  /*!<清空内容*/
byteArray.squeeze(); /*!<释放内存*/

在所申请的内存没有满之前可以累计追加内容,如

buf.append(data);

用处:可以解决,在串口获取数据时,有一帧数据长度不确定分段返回的问题

你可能感兴趣的:(Qt)