Ho un unordered_set di caratterieffettiva costruzione std :: string da std :: unordered_set <char>
std::unordered_set<char> u_setAlphabet;
Poi voglio ottenere un contenuto dal set come std :: string. La mia applicazione ora si presenta così:
std::string getAlphabet() {
std::string strAlphabet;
for (const char& character : u_setAlphabet)
strAlphabet += character;
return strAlphabet;
}
'questo un buon modo per risolvere questo compito? L'aggiunta di char signle alla stringa non sembra essere ottimale per il grande u_setAlphabet (multiple reallocs?). C'è qualche altro metodo?
Come una questione di etichetta: un identificatore in un pezzo di codice di esempio minimo e rappresentativo non dovrebbe probabilmente essere scomodo come "u_setAlphabet". I buoni identificatori per il codice di esempio sono 'foo',' bar' e 'x'. –
@KerrekSB D'altra parte, devo dire che preferisco il codice che copia un insieme non ordinato 'setAlphabet' in una stringa' strAlphabet' a uno che copia set (o was è stringa?) 'Foo' in stringa (o era impostato ?) 'bar'. – Angew
@KerrekSB buon punto, ho in mente la tua raccomandazione alla prossima domanda. Alcune risposte utilizzano questi nomi ora, quindi non cambierò il contenuto della domanda qui – saleph