美文网首页
阅读经典——《C++ Templates》

阅读经典——《C++ Templates》

作者: 金戈大王 | 来源:发表于2017-01-19 10:53 被阅读305次

    为什么我会读这本书?

    早在2015年底,我已经通读了《C++ Primer》,这本书基本上涵盖了C++的绝大部分知识,对当时的我来说可谓醍醐灌顶,许多之前感到疑惑的问题都迎刃而解。然而一年后的今天,C++知识再次遇到瓶颈,模板元编程成了我面前的一座大山。

    起因是学习SLAM(Simultaneous Localization And Mapping,即时定位与地图构建)的过程中,需要用到许多C++开源库,比如Eigen、Ceres、Sophus等等。这些库为了提高性能,使用了大量模板元编程。以我现在的理解,模板元编程就是利用模板生成代码的编程方式,这种做法可以把一些运行期计算量提前到编译期,从而缩短代码运行时间。这些库的使用并不复杂,只需要简单的模板知识就可以上手。但是对于我这种好奇心严重的人,总想深入库源码探究一下它们的实现原理。可是一打开源码我就傻眼了,几乎完全看不懂,那种绝望的感觉,让我决心深入学习C++模板,这应该也是C++程序员进阶的必经之路吧。

    于是我购买了A神(某C++大牛)曾向我推荐的经典书籍《C++ Templates》,开始研读。

    本来不打算写这个系列的文章,因为这本书的知识很琐碎,细节太多,很难归纳出核心思想。但回想起前年读《C++ Primer》,已经认真到极致,可如今仍然几乎忘了大半。所以决定还是做些记录,即使不那么连贯有趣,也总比一字不写强。

    版本

    C++ Templates 中文版

    本书目录

    第1章 关于本章

    第1部分 基础

    第2章 函数模板
    第3章 类模板
    第4章 非类型模板参数
    第5章 技巧性基础知识
    第6章 模板实战
    第7章 模板术语

    第2部分 深入模板

    第8章 深入模板基础
    第9章 模板中的名称
    第10章 实例化
    第11章 模板实参演绎
    第12章 特化与重载
    第13章 未来的方向

    第3部分 模板与设计

    第14章 模板的多态威力
    第15章 trait与policy类
    第16章 模板与继承
    第17章 metaprogram
    第18章 表示式模板

    第4部分 高级应用程序

    第19章 类型区分
    第20章 智能指针
    第21章 tuple
    第22章 函数对象和回调
    附录A 一处定于原则
    附录B 重载解析

    相关文章

      网友评论

          本文标题:阅读经典——《C++ Templates》

          本文链接:https://www.haomeiwen.com/subject/hvfibttx.html