ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
第一章 类型推导 ============= C++98只有一种类型推导规则:函数模板。C++11修改了一点规则样本,并且添加额外的两条规则,一条是`auto`,另一个是`decltype`。C++14继续扩展了`auto`和`decltype`的使用情况。随着类型推导的广泛使用,会使得你从一些明显的或者是冗余的类型拼写中解放出来。它使得C++编写的软件更加具有适用性,因为改变代码中的一处地方的类型,编译器会在代码的其他地方自动的推导出类型定义。但是这使得代码扫描过程更加困难,因为类型推导对编译器来说并不是你想的那么简单。 不去理解类型推导是如何操作的,高效的使用现代C++进行编程是不可能的。在类型推导过程中有太多的上下文判断,在大多数情况,`auto`出现在调用函数模板时,在`decltype`表达式里面,和在C++14中,神秘的`decltype(auto)`构造。 本章提供每个C++开发者必需的关于类型推导的信息。解释了模板类型推导是怎么工作的,`auto`如何左右类型,`decltype`是怎样运行的。甚至解释了如何强制编译器限定显示类型推导的结果,这样会帮助你明确编译器推导的类型是不是你所需要的。