Effective C++_读书笔记_107

模板与范型编程

C++ template 演变:
type-safe(类型安全, 主要指容器) -> generic programing(范型编程, 如 STL 算法) -> template metaprograming(模板元编程, 即利用编译期生成代码, 或称为代码运行在编译期内的方式)

条款41

了解隐式接口和编译期多态

隐式接口就是让表示式必须成立(成立即可)所满足的条件, 并非依靠函数签名式(包含函数名称, 参数类型和返回类型).
编译期多态指在编译期"以不同的 template 参数具现化 function templates".
classes 和 templates 都支持接口(interface)和多态(polymorphism).
对于classes, 接口是显式的, 以函数签名为中心, 多态则是通过 virtual 函数发生于运行期.
对于templates, 接口是隐式的, 基于有效表达式, 多态则是通过 template 具现化和函数重载解析发生于编译期.

条款42

了解 typename 的双重意义

声明 template 参数时, class 和 typename 可以互换.
请使用关键字 typename 标识嵌套从属类型(目的)名称, 但不得在 base classes lists(基类列)或 member initialization list(成员初值列)内以它作为 base class 修饰符.

条款43

学习处理模板化基类内的名称

条款44

条款45

条款46

条款47

条款48

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这本书属于“想提高必看之书”,相见恨晚,建议所有C++程序员都看看,没事也可以拿出来翻翻。大家也可以浏览下面的笔记...
    拉普拉斯妖kk阅读 3,975评论 0 1
  • 条款1:视C++为一个语言联邦 1. C 用于C的基本特性。 2. 面向对象 封装、继承、多态、动态绑定、虚函数表...
    小张同学_loveZY阅读 1,339评论 0 0
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,144评论 1 51
  • 初二,走亲戚,女婿带媳妇儿回娘家。 早上,贪睡。九点才起来,没跑步。 吃完饭,搬了一箱鸡蛋,一块十几斤的礼条(猪肉...
    七寰书文阅读 4,026评论 3 9
  • 春草嗅着了曦风的气息, 破土而出,努力逢迎。 夏蝉察觉到烈日的灼热, 所以睁开眼睛,响亮回应。 秋叶感恩于劲风的求...
    高白牧阅读 1,703评论 0 4