评论

收藏

[C++] C++ decltype关键字

编程语言 编程语言 发布于:2021-07-06 09:47 | 阅读数:295 | 评论:0

  
  C++ decltype关键字

  • 希望根据表达式判定变量类型,但不用表达式的值初始化变量


    • 如果表达式的结果对象能作为一条赋值语句的左值,则表达式将向decltype返回一个引用类型
    • 变量加上括号后会被编译器视为一个表达式



  希望根据表达式判定变量类型,但不用表达式的值初始化变量  decltype(f()) sum = x; f()并不会被调用,sum为f()的返回类型
引用从来都作为其所指对象的同义词出现,只有在decltype处是一个例外

如果表达式的结果对象能作为一条赋值语句的左值,则表达式将向decltype返回一个引用类型
  decltype(*p) c; //错误,c是int &,必须初始化

变量加上括号后会被编译器视为一个表达式
  decltype((i)) d; //错误,d是int &,必须初始化
  

  
关注下面的标签,发现更多相似文章