类型别名
就是给一个类型起一个简单,容易理解的名字
typedef double num;
形式:
typedef 原名 别名;
坑:这条语句后面有分号。
而且原名和别名的位置与#define刚好相反
auto
让编译器推断类型。
我个人理解:有些中间量的类型名是在是太长了,一不小心就错了,而且很难改。如:
auto b = v.begin()
decltype()
分析表达式返回类型,作为类型。
decltype(f()) x = f(x); //函数f返回类型作为x的类型。
应用:
decltype(*p)//解引用
这里*p返回的是引用,谢谢。
T& operator *()
decltype((expr))永远是引用,个人理解(expr)求值后返回引用