所有讨论都是底层const指针或引用,顶层const不会传递进模板。
模板中有const,不管传进来是否是const,T都是非const类型。
template<typename T>
void f(const T& a)
{
}
int a;
const int b = 10;
f(a); //T是int
f(b); //T还是int
模板中没有const,传进来const类型,则T是const类型
template<typename T>
void f(T& a)
{
}
int a;
const int b = 10;
f(a); //T是int
f(b); //T是const int