c++新特性–decltype与auto

一般来说,decltype总能给到我们想要的结果,不像auto时不时会给我们一些惊喜。如果你还不是那么了解auto的推导发展,建议你去看看我的另一篇文章。
关于auto的推导法则
decltype值得注意的就两点:
1.告诉你这个变量或者表达式的类型(几乎是百分百值得信赖的,当然也会有意外,不过这个意外对于大多数人而言可能一辈子也碰不到)。
举例:
const int i = 0;
//decltype(i) 是 const int

bool f(const Widget& w);
//decltype(w) 是 const Widget&
//decltype(f) 是 bool(const Widget&)

struct Point {
int x;
int y;
};
//decltype(Point::x) 是 int

Widget p;
//decltype(p) 是 Widget

if(f(p))
//decltype(f(p)) 是 bool

template