使用qDebug打印自定义类型
本文主要介绍如何使用qDebug()打印自定义类型,关于自定义类型的创建,请参考:
打印自定义类型:
我们在调试代码时,经常使用qDebug()进行信息打印
Message message(body, headers);
qDebug() << "Original:" << message;
为了让自定义类型Message实现此功能,需要创建一个流操作函数
QDebug operator<<(QDebug dbg, const Message &message);
下面是这个函数的具体实现:
QDebug operator<<(QDebug dbg, const Message &message)
{
const QString body = message.body();
QVector<QStringRef> pieces = body.splitRef("\r\n", QString::SkipEmptyParts);
if (pieces.isEmpty())
dbg.nospace() << "Message()";
else if (pieces.size() == 1)
dbg.nospace() << "Message(" << pieces.first() << "