ho definire una struttura di datiPerché può usare const char * come chiave per std :: map <std :: string, int>
std::map<std::string, int> a;
ho trovato posso passare const char * come chiave, come this:
a["abc"] = 1;
Quale funzione fornisce la conversione automatica dei tipi da const char * a std :: string?
Fare cose del genere suona implicitamente come una ricetta per i bug difficili da trovare. –
No, alcune conversioni implicite vanno bene. Una stringa C e 'std :: string' sono semanticamente equivalenti, è solo che una stringa C è un inutile pezzo di merda. – Puppy
@Warren, è comune in C++, specialmente per i costrutti comunemente usati come std :: string. Puoi goderti il successo prestazionale della costruzione temporanea di std :: string ogni volta che effettui una ricerca ... – Alex