语法:

    1. decltype(expression) var; //定义一个var和expresion的类型相同
    2. int x;
    3. decltype y = x; //定义与x类型相同的y变量
    • 如果expression是一个函数调用,则var的类型和函数的返回类型相同。并不会实际调用函数,编译器通过查看函数的原型来获悉返回类型,而无需实际调用函数。
      • long indeed(int);
      • decltype(indeed(3)) m; //m is type int