/重学C++:类型推导

Created Tue, 26 Oct 2021 21:14:32 +0800 Modified Fri, 09 Aug 2024 13:25:47 +0000
339 Words 2 min

常见的坑

  1. auto可以在一条语句中声明多个变量,但是所有变量的类型必须一致。

  2. decltype在分析表达式类型时并不执行表达式。

  3. decltype处理解引用操作之后返回的是引用类型,而引用类型的变量必须初始化。

  4. decltype((variable))的结果永远是引用。

    decltype(variable)的结果只有当variable是引用时才是引用。

必须要理解的点

  1. auto用于变量初始化时的类型推导,decltype用于分析表达式的类型。
  2. auto对引用类型推导时实际上用的是引用对象的值。
  3. autoconst:详见重学 C++:Const 二三事
  4. decltypeconst:详见重学 C++:Const 二三事

建议

  1. auto尽量只在类型较长但比较清晰时使用。
  2. decltype尽量不要使用。