说明:
decltype选择并返回操作数的类型,但是不去计算表达式的值去初始化变量
decltype处理顶层const
decltype使用不加括号的变量,得到的是该变量的类型,如果变量加了一层或多层括号,则会得到引用类型
使用示例:
const int a=100;
decltype(a) x=0; //处理顶层const,类型为const int,所以需要初始化
const int &cj=a;
decltype(cj) y=x; //处理顶层引用,类型为const int&,所以需要初始化
int c=100;
decltype(c) z; //int
decltype((c)) m=0; //带括号是引用,所以需要有初值