से स्ट्रिंग मैं तो मैं std :: स्ट्रिंग के रूप में सेट से सामग्री प्राप्त करना चाहते हैं वर्णप्रभावी निर्माण std :: std :: unordered_set <char>
std::unordered_set<char> u_setAlphabet;
के unordered_set है। मेरा कार्यान्वयन अब इस तरह दिखता है:
std::string getAlphabet() {
std::string strAlphabet;
for (const char& character : u_setAlphabet)
strAlphabet += character;
return strAlphabet;
}
क्या यह इस काम को हल करने का एक अच्छा तरीका है? स्ट्रिंग के लिए सिग्नल वर्णों के जोड़ बड़े u_setAlphabet (एकाधिक reallocs?) के लिए इष्टतम नहीं लगते हैं। क्या इसके लिए कोई और तरीका है?
auto s = std::string(begin(u_setAlphabet), end(u_setAlphabet));
शिष्टाचार के मामले के रूप में: कम से कम एक टुकड़े में एक पहचानकर्ता, प्रतिनिधि उदाहरण कोड शायद 'u_setAlphabet' की तरह अजीब रूप से अजीब नहीं होना चाहिए। उदाहरण कोड के लिए अच्छे पहचानकर्ता 'foo', 'bar' और' x' हैं। –
@KerrekSB दूसरी तरफ, मुझे यह कहना होगा कि मैं कोड पसंद करता हूं जो एक अनियंत्रित सेट 'setAlphabet' को एक स्ट्रिंग' strAlphabet' में कॉपी करता है जो प्रतिलिपि बनाता है (या स्ट्रिंग था?) 'Foo' स्ट्रिंग में (या यह सेट था ?) 'बार'। – Angew
@KerrekSB अच्छा बिंदु, मुझे अगले प्रश्न पर आपकी सिफारिश याद है। कुछ नाम अब इन नामों का उपयोग करते हैं, इसलिए मैं प्रश्न की सामग्री को यहां नहीं बदलूंगा – saleph