decltype 关键字

decltype类型指示符

  • 作用是选择返回操作数的数据类型,分析表达式得到它的类型,但不得到它实际的值
    例: decltype(fun()) sum = x //sum的类型就是函数的返回类型

  • 如果decltype使用的表达式是一个变量,则decltype返回该变量的类型(包括顶层

    • const 和引用在内)
    • const int a = 0, &b = a;
    • decltype(a) x = 0; //x的类型是const int
    • decltype(b) y = x; //y的类型是const int&,y绑定到变量x
  • 对于decltype,如果变量名加上一对括号,得到的类型与不加括号时会有所不同,如果给变量名加上了一层或多层括号,就会得到引用类型
    • decltype((i)) a = c; //结果是引用
    • decltype(i) b; decltype((val))的结果永远都是引用

猜你喜欢

转载自blog.csdn.net/zhoujy1996/article/details/80260825