auto 和 decltype (C++11 新增)

红色字体为我的推断,可信度自辨。函数

蓝色字体为重点。字体

 

auto类型说明符:使用auto时,编译器会分析表达式,并自动推算出变量所属类型。*auto变量必须有初值spa

原理:编译器经过 初值 来判断auto变量所属类型。具体匹配规则不清。但整形和浮点推断为int和double。编译器

须要注意:编译

  1)auto sz = 0, pi = 3.14;  // 错误。sz和pi的类型不一致。变量

 

decltype类型指示符:获得表达式对应类型。原理

使用时机:引用

  1)须要表达式对应类型,但不须要表达式的值。co

  2)须要函数返回类型。错误

须要注意:

  1)若是返回类型是引用,则必须初始化。

  2)decltype((variable)) 当使用双层括号时,结果必定是引用。

相关文章
相关标签/搜索