【发布时间】:2015-12-15 02:48:42
【问题描述】:
我注意到在某些情况下执行以下代码后
void appendToArray(QByteArray &array, const char *source, int size) {
void *p1 = array.data();
array.append(dest, size);
void *p2 = array.data();
}
p1 和 p2 变得不同。但我一直认为 append() 方法“一开始”不会影响内部 QByteArray 内存——它只是将一些字节附加到对象的末尾;我错了吗?
【问题讨论】:
-
如果您知道数组的估计大小,可以使用doc.qt.io/qt-5/qbytearray.html#reserve 来避免重定位。
标签: c++ qt dynamic-memory-allocation qbytearray