In una funzione del mio codice ho trovato un bug. E 'stato scritto std:string
:Differenza tra std: string e std :: string
const std::string currentDateTime() {
time_t now = time(0);
struct tm tstruct;
char buf[80];
tstruct = *localtime(&now);
//strftime(buf, sizeof(buf), "%Y-%m-%d.%X", &tstruct);
strftime(buf, sizeof(buf), "%Y%m%d%X", &tstruct);
std:string str = buf;
str.erase(std::remove(str.begin(), str.end(), ':'), str.end());
return str;
}
il codice viene compilato senza errori. Perché viene compilato? Cosa significa allora std:string
?
'std:' è un'etichetta, ci deve essere un utilizzo in là da qualche parte. –
Questo codice funziona solo se stai facendo "using namespace std" che comunque è IMO male. Altrimenti questo sarebbe stato catturato come errore di compilazione a meno che non ci sia una stringa di testo definita da qualche parte. – Devolus
@Devolus Puoi anche usare std :: string, per ottenere lo stesso effetto. – dascandy