Я читал, и я увидел следующий код:
template <>
inline bool is_empty(const char* const& x)
{
return x==0 || *x==0;
}
Что означает const char* const& x
?
Я попробовал следующий код, чтобы понять это:
void f(const char* const& x)
{
// whatever
}
void main()
{
char a = 'z';
char &j = a;
f(a);//error
f(*a);//error
f(&a);//fine
f(j);//error
f(&j);//fine
f('z');//error
}
Он работает только для f(&a)
и f(&j)
.
Что означает const char* const& x
?