我正在编写一种方法来解析网络数据包的形式QByteArray
。它将使用提取一些值QDataStream
,然后希望将其传递QDataStream
给另一种方法以进行进一步处理(以避免QDataStream
稍后再制作另一个方法的开销)。
这是我的代码:
//datagram is QByteArray
QDataStream ds=new QDataStream(&datagram, QIODevice::ReadOnly);
qint64 someValue = 0;
*ds >> someValue;
emit receivePacket(ds,host, port);
由于我使用的是信号,因此不鼓励通过引用传递,因为剩下QDataStream
的Q_DISABLE_COPY
唯一选择是通过指针传递。但是如果我决定通过指针传递它,我怎样才能有效地管理内存呢?(只删除一次)以后?