di recente ho trovato la seguente definizione di funzione in un certo codice stavo rivedendo:Uso strano di const: perché viene compilato?
void func(const::std::string& str)
{
// Do something...
}
Mi sorprende che il const::std::string
sembra essere legale (compila con GCC4.4, GCC 4.8, 3.2 Clang & Intel 13,0. 1).
Lo standard specifica che const
può essere utilizzato come namespace
?
Sei sicuro, non è 'const :: std :: string ...' (nota lo spazio)? –
@KirilKirov E che differenza fa lo spazio? La sequenza di token è indentica, con o senza lo spazio. –
@JamesKanze: è l'operatore spaziale. oh bene un giorno di ritardo. ma in ogni caso. –