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,尚未初始化

 

posted @ 2019-08-12 19:52  寒江小筑  阅读(149)  评论(0编辑  收藏  举报