主编推荐语
本书详讲C模板与泛型编程,难易适宜,支持C11/14/17,适合中高级C开发者。
内容简介
本书是一部详细讲解C模板与泛型编程知识的书,针对的是希望系统学习C模板与泛型编程、元编程相关开发知识的中高级C开发者,所讲解的知识具备一定的难度,书籍包含纸质图书以及教学源代码文件。编写初衷是帮助读者解决各种模板与泛型编程中的语法问题,以免在阅读他人所写的泛型编程代码(如C标准库代码、Boost库代码)时磕磕绊绊甚至进行不下去。此外,书中也会对一些比较有商业价值的源码进行适当的分析和讲解,以进一步提高读者的实战能力,更好的让读者利用模板与泛型编程技术编写可复用的高质量代码以及供第三方开发者使用的接口库。书籍有如下比较明显的特点:①注重细节,注重基础;②讲解难度适宜,范例由浅入深;③内容比较全面;④支持C11/14/17新标准。全书共分7章:第1章搭建C编程环境,第2~3章讲述模板开发的基础和进阶知识,第4章介绍C标准库中常用的各种模板,第5~6章详细通过众多范例展示萃取技术、策略技术以及元编程,第7章动手编写STL中的list容器和对应的迭代器实现源码以期望读者对list容器的实现细节有清晰掌握并触类旁通。
目录
- 版权信息
- 作者简介
- 内容简介
- 前言
- C++语言支持的程序设计方法
- 本书介绍
- 需要的基础知识
- 阅读建议
- 运行环境
- 资料获取
- 致谢
- 第1章C++编程环境介绍
- 1.1 C++编程环境搭建说明
- 1.2 创建最基本的能运行的C++程序
- 1.3 Visual Studio中程序的调试方法
- 1.4 开启Visual Studio 2019对C++最新标准的编译支持
- 第2章模板基础知识
- 2.1 函数模板
- 2.2 类模板、变量模板与别名模板
- 2.3 类模板中的友元
- 2.4 可变参模板
- 2.5 多态在模板中的应用
- 2.6 模板的特殊继承关系
- 2.7 模板代码的组织结构与模板的显式实例化和声明
- 第3章模板进阶知识
- 3.1 万能引用
- 3.2 类型推断
- 3.3 完美转发
- 3.4 std::enable_if的使用
- 3.5 类模板中可变参的逐步展开
- 第4章标准库的典型内容
- 4.1 std::declval
- 4.2 std::true_type和std::false_type
- 4.3 std::void_t
- 4.4 std::conditional
- 4.5 std::function的实现
- 4.6 std::remove_all_extents
- 4.7 std::integer_sequence
- 4.8 std::is_union、std::is_class和std::integral_constant
- 第5章萃取技术与策略技术
- 5.1 萃取技术及固定萃取演示
- 5.2 萃取技术中的值萃取演示
- 5.3 使用SFINAE特性的信息萃取
- 5.4 将trait类模板用作模板参数
- 5.5 策略技术中的算法策略
- 第6章元编程
- 6.1 术语、元函数
- 6.2 混合元编程
- 6.3 typelist实现(类型计算范例)
- 6.4 tuple实现
- 第7章标准模板库代码
- 7.1 list容器的简单实现
- 7.2 迭代器设计中的分类目的
- 7.3 一个典型算法—find_if的简单实现
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。