我只是好奇。比方說,我需要在控制檯中輸出一個數字。Qt:將數字轉換爲QString,QVariant或QString更好:編號
的代碼將是:
#include <QDebug>
#include <QVariant>
#include <QString>
void displayNumber(quint8 number) {
qDebug() << QVariant(number).toString();
qDebug() << QString::number(number);
//or for example
// QLabel label;
// label.setText(QString::number(number));
//or
// label.setText(QVariant(number).toString());
}
這將是明智的更好的性能?我認爲內存消耗也是不同的。 QVariant(number).toString()意味着它將一個QVariant存儲在堆棧中。不知道QString :: number(),它不應該只是調用該函數(當然,該函數有一個QString返回,所以它也被分配到堆棧上,並佔用該空間,並且該操作分配和未分配它)? 無論如何,sizeof()給了我16字節的QVariant和4字節的QString。
這也是我的想法。它分配QVariant並在調用.toString()之後分配一個QString並返回QString。 –
@Moraru,是的,正好;) – SingerOfTheFall