类型推导
类型演绎,即类型推导。
四种需要类型推导的情况:
类型 | C++版本 |
---|---|
函数模板 | C++98 |
auto | C++11 |
decltype | C++11 |
decltype(atuo) | C++14 |
优点:
- 避免了拼写多余的类型
- 适应性,源代码中的某一点更改类型会自动通过类型推导传播到其他位置
缺点:
- 由于编译器推断的类型可能不如您所希望的那样明显,因此它使代码更难以推理。
本章节将包含以下四小节:
- Item 1: 理解模板类型的推导.
- Item 2: 理解auto类型推导.
- Item 3: 理解decltype.
- Item 4: 如何查看推导的类型.
前三小节包含了类型推导的知识点;
最后一小节介绍了如何强制编译器使类型推导的结果可见,从而使您能够确保编译器推导您希望它们的类型。