Niedawno znalazłem następującą definicję funkcji w pewnym kodzie miałem przeglądu:Dziwne użycie const - dlaczego to się kompiluje?
void func(const::std::string& str)
{
// Do something...
}
Jestem zaskoczony, że const::std::string
wydaje się być legalne (kompiluje z GCC4.4, GCC 4.8, Clang 3.2 & Intel 13.0. 1).
Czy standard określa, że const
może być używany jako?
Czy jesteś pewien, że to nie jest "const :: std :: string ..." (zwróć uwagę na spację)? –
@KirilKirov A czym różni się przestrzeń? Sekwencja tokenów jest indentyczna, z przestrzenią lub bez niej. –
@JamesKanze: to operator przestrzeni. no cóż, jeden dzień późno. ale w każdym razie. –