विपरीत std :: वेक्टर, std :: स्ट्रिंग एक एकल निर्माता है कि एक आकार लेता है प्रदान नहीं करता है:std :: string (आकार, ' 0') और s.resize (आकार) के बीच अंतर?
std::string s(size, '\0');
और
std::string s;
s.resize(size);
:
std::string s(size); // ERROR
वहाँ के बीच कोई अंतर है सामान्य कार्यान्वयन पर उनके प्रदर्शन के संदर्भ में
?
स्ट्रिंग को सभी शून्य वर्णों में स्ट्रिंग प्रारंभ करने का आकार बदल देगा या क्या यह उन्हें एक अनिर्दिष्ट मान छोड़ देगा?
यदि सभी शून्य है, तो किसी दिए गए आकार की स्ट्रिंग बनाने का कोई तरीका है, लेकिन अक्षरों को अनिर्दिष्ट मान के साथ छोड़ दें?
'आकार' क्या है, क्या यह आकार = 0' है? –
@ फर्स्टस्टेप: नहीं, जहां 'आकार' कुछ 'size_t' है जो'> 0' है। –
क्या आपने अपने प्रदर्शन को मापने के लिए एक प्रोफाइलर के माध्यम से कुछ कार्यान्वयन चलाए? –