C++——decltype

const int ci=0, &cj=ci;
decltype(ci) x=0;//x的类型是const int
decltype(cj) y=x;//y的类型是const int &
decltype(cj) z;//错误,z是一个引用,必须初始化

1.decltype 和const

2.decltype 和引用

int i=42,*p=&i, &r=i;
decltype(r+0) b;//正确,b是一个int
decltype(*p) c;//错误,c是int&,必须初始化??不是 int*??????????????????
decltype((i)) d; //错误,d是int&(爽括号的结果永远引用)
decltype(i) e; //正确,e是int,尚未初始化
原文地址:https://www.cnblogs.com/yrm1160029237/p/11342177.html