सी में अक्षर अक्षर के साथ स्ट्रिंग अक्षर को संयोजित करने का प्रयास करते समय, अप्रत्याशित व्यवहार हो सकता है। उदाहरण के लिए:
string str = "ab" 'c';
cout यह कोड अप्रत्याशित आउटपुट उत्पन्न करता है क्योंकि " " ऑपरेटर को स्ट्रिंग अक्षर और अक्षर अक्षर के संयोजन के लिए परिभाषित नहीं किया गया है। इसके बजाय, कंपाइलर स्ट्रिंग अक्षरशः को सी-स्टाइल स्ट्रिंग (एक कॉन्स्ट चार पॉइंटर) के रूप में मानता है, और स्ट्रिंग अक्षरशः के पते पर वर्ण अक्षरशः के प्रचारित पूर्णांक मान को जोड़ता है। इसका परिणाम अनिर्धारित व्यवहार है। ") 'c';
वैकल्पिक रूप से, वांछित परिणाम प्राप्त करने के लिए संयोजन का उपयोग करें:
std::string str = std::string("ab") 'c';
दूसरे कोड स्निपेट में, स्ट्रिंग ऑब्जेक्ट में एक अतिभारित " " ऑपरेटर होता है जो इच्छित संयोजन करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3