में बदलने के लिए बेहतर है जो मैं उत्सुक हूं। आइए उदाहरण के लिए मुझे कंसोल में एक संख्या आउटपुट करने की आवश्यकता है।क्यूटी: किसी संख्या को 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 (संख्या) .toString() का अर्थ यह होगा कि यह स्टैक में एक QVariant स्टोर करता है। QString :: संख्या() के बारे में निश्चित नहीं है, क्या यह केवल फ़ंक्शन को कॉल नहीं करना चाहिए (निश्चित रूप से, फ़ंक्शन में क्यूस्ट्रिंग रिटर्न है, इसलिए इसे स्टैक पर भी आवंटित किया जाता है और वह स्थान लेता है और उस ऑपरेशन को आवंटित और इसे आवंटित करने के लिए)? वैसे भी, sizeof() मुझे QVariant के लिए 16 बाइट्स और QString के लिए 4 बाइट्स देता है।
यही वह भी है जो मैं सोच रहा था। यह QVariant आवंटित करता है और कॉल करने के बाद .toString() यह एक QString भी आवंटित करता है और QString देता है। –
@ मोरारू, हाँ, बिल्कुल;) – SingerOfTheFall