"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > आप \'+\' ऑपरेटर का उपयोग करके स्ट्रिंग अक्षर और ऑब्जेक्ट को सुरक्षित रूप से कैसे जोड़ सकते हैं?

आप \'+\' ऑपरेटर का उपयोग करके स्ट्रिंग अक्षर और ऑब्जेक्ट को सुरक्षित रूप से कैसे जोड़ सकते हैं?

2024-11-02 को प्रकाशित
ब्राउज़ करें:893

How Can You Safely Concatenate String Literals and Objects Using the \' \' Operator?

स्ट्रिंग लिटरल्स और ऑब्जेक्ट्स को संयोजित करना: '' ऑपरेटर की खोज करना

अपनी पुस्तक "एक्सीलेरेटेड सी" में, कोएनिग ने स्ट्रिंग को संयोजित करने के लिए '' ऑपरेटर का उपयोग करने की अवधारणा का परिचय दिया है शाब्दिक और वस्तुएँ। हालांकि यह सीधा लग सकता है, कुछ सूक्ष्म बारीकियां हैं जो अप्रत्याशित परिणाम दे सकती हैं।

पहेली: दो उदाहरण, एक सफलता, एक विफलता

निम्नलिखित दो उदाहरणों पर विचार करें:

const string hello = "Hello";
const string message = hello   ",world"   "!";
const string exclam = "!";
const string message = "Hello"   ",world"   exclam;

पहला उदाहरण सफलतापूर्वक तीन तारों को जोड़ता है। हालाँकि, दूसरा उदाहरण विफल हो जाता है। '' ऑपरेटर बाएँ से दाएँ सहयोगी है, जिसका अर्थ है कि यह बाएँ से दाएँ मूल्यांकन करता है। यदि इस पर ध्यान नहीं दिया गया तो यह अप्रत्याशित व्यवहार का कारण बन सकता है।

दूसरे उदाहरण में, अभिव्यक्ति को इस प्रकार कोष्ठक में रखा जा सकता है:

const string message = ("Hello" ",world ") विस्मयादिबोधक;

जैसा कि आप देख सकते हैं, दो स्ट्रिंग अक्षर, "हैलो" और ",दुनिया," पहले संयोजित हैं। इसका परिणाम एक स्ट्रिंग अक्षरशः होता है, जिसे स्ट्रिंग ऑब्जेक्ट "एक्सक्लैम" के साथ आगे नहीं जोड़ा जा सकता है।
const string message = ("Hello"   ",world")   exclam;

इस समस्या को हल करने के कई तरीके हैं:

एक std::string ऑब्जेक्ट को एक तर्क के रूप में उपयोग करना:

  • const string message = string("Hello") ",विश्व" विस्मयादिबोधक;
const string message = string("Hello")   ",world"   exclam;
  • const string message = "Hello" (", विश्व" विस्मयादिबोधक);
आप दो स्ट्रिंग अक्षरों को संयोजित क्यों नहीं कर सकते?
const string message = "Hello"   (",world"   exclam);

"Hello" ",world"

यह इसके बराबर है:

"हैलो, दुनिया"

यह लंबी स्ट्रिंग अक्षरों को कई पंक्तियों में तोड़ने के लिए उपयोगी है।
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729730169 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3