auto 和 decltype (C++11 新增)

红色字体为个人推断,可信度自辨。

蓝色字体为重点。

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

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

需要注意:

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

decltype类型指示符:得到表达式对应类型。

使用时机:

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

  2)需要函数返回类型。

需要注意:

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

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

原文地址:https://www.cnblogs.com/zheng39562/p/4176591.html