Mam unordered_set o znakachEfektywna konstrukcja std :: string z std :: unordered_set <char>
std::unordered_set<char> u_setAlphabet;
Następnie chcę, aby uzyskać zawartość z zestawu jako std :: string. Moja implementacja wygląda teraz tak:
std::string getAlphabet() {
std::string strAlphabet;
for (const char& character : u_setAlphabet)
strAlphabet += character;
return strAlphabet;
}
Czy to dobry sposób na rozwiązanie tego zadania? Dodatki znaków-znaków do łańcucha wydają się nie być optymalne dla dużych u_setAlphabet (multiple reallocs?). Czy jest jakaś inna metoda?
Co do etykiety: identyfikator w minimalnym, reprezentatywnym przykładowym kodzie powinien prawdopodobnie nie być niewygodny jak "u_setAlphabet". Dobrymi identyfikatorami na przykład kodu są 'foo',' bar' i 'x'. –
@KerrekSB Z drugiej strony, muszę powiedzieć, że wolę kod, który kopiuje nieuporządkowany set 'setAlphabet' na ciąg' strAlphabet' do tego, który kopiuje zestaw (lub był ciągiem?) 'Foo' na ciąg (czy był ustawiony? ?) 'bar'. – Angew
@KerrekSB dobry punkt, mam na uwadze twoje zalecenie na następne pytanie. Niektóre odpowiedzi używają teraz tych nazw, więc nie zmienię treści pytania tutaj – saleph