सी ++ 1z के बाद से, हमारे पास std::string_view
है, जो कि अक्षरों के एक अनुक्रमिक अनुक्रम में हल्के वजन वाले दृश्य हैं जो डेटा की अनावश्यक प्रतिलिपि से बचाता है। const std::string&
पैरामीटर होने के बजाय, अब इसे std::string_view
का उपयोग करने की अक्सर अनुशंसा की जाती है।std :: string और std :: string_view को संयोजित करने के लिए कोई समर्थन क्यों नहीं है?
हालांकि, एक जल्दी से पता चल गया के रूप में वहाँ std::string
और std::string_view
श्रृंखलाबद्ध लिए कोई समर्थन नहीं है कि स्ट्रिंग संयोजन का उपयोग करता है const std::string&
std::string_view
को टूटता कोड से स्विच:
std::string{"abc"} + std::string_view{"def"}; // ill-formed (fails to compile)
std::string_view{"abc"} + std::string{"def"}; // ill-formed (fails to compile)
क्यों std::string
और std::string_view
श्रृंखलाबद्ध लिए कोई समर्थन नहीं है मानक में?
अधिकतर एक निरीक्षण की संभावना है। उस ने कहा, कोड काम करने के लिए 'ऑपरेटर +' जोड़ने में ज्यादा कुछ नहीं लगता है। – NathanOliver
बस यह पाया गया: https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/1RcShRhrmRc – NathanOliver
मुझे जो भी याद आती है वह std :: basic_string का सदस्य फ़ंक्शन है जो std देता है :: उप-स्ट्रिंग का मूल_स्ट्रिंग_व्यू ("सबस्ट्र" सदस्य फ़ंक्शन के समान), शायद "substr_view" नाम दिया गया है। – CAF