मैं std::string_view
लाइब्रेरी के साथ खेल रहा हूं और मैं एक कोड बेस बदलने पर विचार कर रहा हूं, जिस पर मैं std::string_view
ज्यादा से ज्यादा प्रयोग कर रहा हूं । हालाँकि, कई थ्रेड्स जो मैंने इस विषय पर पढ़े हैं कि std::string_view
इसके बजाय कब और कहाँ उपयोग करना है const std::string &
। मैंने कई जवाबों को कहते देखा है, "जब आपको एक शून्य समाप्त स्ट्रिंग की आवश्यकता नहीं होती है।" इसलिए जैसे ही मैंने वेब के लिए खोज शुरू की, "आपको एक शून्य समाप्त स्ट्रिंग की आवश्यकता कब है?" मैं वास्तव में इस विषय पर किसी भी उपयोगी उत्तर पर नहीं आया हूं।
मैं एक बाहरी पुस्तकालय के एक उदाहरण के बारे में सोच सकता हूं जिसे आप उससे जोड़ेंगे std::string
। और उस मामले में आपको एक शून्य समाप्त स्ट्रिंग की आवश्यकता होगी क्योंकि उस पुस्तकालय को इसकी आवश्यकता होती है। मुझे लगता है कि एक और उदाहरण होगा यदि आपको स्ट्रिंग को संशोधित करने की आवश्यकता है, लेकिन तब हम इसे पास नहीं करेंगे const &
यदि हमें इसे संशोधित करने की आवश्यकता है।
तो आपको एक शून्य समाप्त स्ट्रिंग का उपयोग करने की आवश्यकता कब होगी?
लिंक जिन्हें मैंने देखा है:
const char*
तर्क ले रहा है । eerorika's anwer का एक उदाहरण है।