क्या निम्न कार्य C++ 03 या C++ 11 में सुरक्षित है या क्या यह यूबी प्रदर्शित करता है?फ़ंक्शन सुरक्षित के माध्यम से संदर्भ पारित कर रहा है?
string const &min(string const &a, string const &b) {
return a < b ? a : b;
}
int main() {
cout << min("A", "B");
}
यह एक वस्तु संदर्भ द्वारा समारोह के लिए पारित करने के लिए एक संदर्भ के लौटने के लिए ठीक है?
क्या यह गारंटी है कि अस्थायी
string
ऑब्जेक्ट बहुत जल्द नष्ट नहीं हुआ है?क्या कोई मौका है कि दिया गया फ़ंक्शन
min
यूबी प्रदर्शित कर सकता है (यदि यह दिए गए संदर्भ में नहीं है)?क्या प्रतिलिपि बनाने या आगे बढ़ने के दौरान एक समकक्ष, लेकिन सुरक्षित कार्य करना संभव है?
क्या आपको स्टडी स्ट्रिंग के साथ काम करने की ज़रूरत है? यदि आप बिल्कुल अस्थायी से बचना चाहते हैं, तो आप '' std :: strcmp() '' का उपयोग कर सकते हैं। – bluescarni
@bluescarni: इससे कोई फर्क नहीं पड़ता कि 'स्ट्रिंग' या अन्य अस्थायी ऑब्जेक्ट प्रकार है या नहीं। सवाल सामान्य होना है। –