decltype 说明符作用是选择并返回操作数的数据类型:
const int ci=0,&pi=ci;
decltype(ci) x = 0; //x的类型为 const int
decltype(pi) y = 0; // y 的类型为 const int&,绑定到x
decltype( f( ) ) a = b; //a 的类型为函数 f 的返回类型
指定类型时并不调用 f() 函数,只是将 f 的返回值的类型作为 a 的类型
decltype 表达式如果是加上括号的变量,则为该变量类型的引用:
int i;
decltype ( ( i ) ) c = d ; //c 为引用,必须初始化