ただ興味があるだけ。たとえば、コンソールに数値を出力する必要があるとします。
コードは次のようになります。
#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()はQVariantに16バイト、QStringに4バイトを与えてくれます。