निम्नलिखित कोड पर विचार करें:विफलता के मामले में एक कॉन्स QString संदर्भ कैसे वापस करें?
const QString& MyClass::getID(int index) const
{
if (i < myArraySize && myArray[i]) {
return myArray[i]->id; // id is a QString
} else {
return my_global_empty_qstring; // is a global empty QString
}
}
मैं विधि की वापसी प्रकार बदले बिना एक खाली QString के लिए कैसे बच कर सकते हैं? (ऐसा लगता है कि स्टैक पर आवंटित एक खाली क्यूस्ट्रिंग लौटना एक बुरा विचार है)
धन्यवाद।
हालांकि आम तौर पर कॉन्स संदर्भ वापस करना अच्छा होता है, मुझे लगता है कि यदि आपको आवश्यकता हो तो आप मूल्य के आधार पर क्यूस्ट्रिंग लौटने से दूर हो सकते हैं। यह प्रतिलिपि बनाने के लिए बहुत सस्ता लिखने पर प्रतिलिपि है। –