C和C++实务精选:C++ Templates中文版
全新正版未拆封
¥
35.17
4.0折
¥
89
全新
仅1件
作者 [美]David、[德]Nicolai M. Josuttis 著;陈伟柱 译
出版社 人民邮电出版社
出版时间 2013-04
版次 1
装帧 平装
上书时间 2024-04-16
商品详情
品相描述:全新
图书标准信息
作者
[美]David、[德]Nicolai M. Josuttis 著;陈伟柱 译
出版社
人民邮电出版社
出版时间
2013-04
版次
1
ISBN
9787115312815
定价
89.00元
装帧
平装
开本
16开
纸张
胶版纸
页数
497页
字数
716千字
正文语种
简体中文
原版书名
C++ Templates:The Complete Guide
丛书
C和C++实务精选
【内容简介】
《C和C++实务精选:C++Templates中文版》是C++模板编程的完全指南,旨在通过基本概念、常用技巧和应用实例三方面的有用资料,为读者打下C++模板知识的坚实基础。 全书共22章。第1章全面介绍了《C和C++实务精选:C++Templates中文版》的内容结构和相关情况。第1部分(第2~7章)以教程的风格介绍了模板的基本概念,第2部分(第8~13章)阐述了模板的语言细节,第3部分(第14~18章)介绍了C++模板所支持的基本设计技术,第4部分(第19~22章)深入探讨了各种使用模板的普通应用程序。附录A和附录B分别为一处定义原则和重载解析的相关资料。 《C和C++实务精选:C++Templates中文版》适合C++模板技术的初学者阅读,也可供有一定编程经验的C++程序员参考。
【作者简介】
David Vandevoorde 有20多年的C++工作经验,C++标准委员会成员。曾因为审校The C++ Programming Language一书的草稿,获得Bjarne Stroustrup的推荐,编写了C++ Solutions。 Nicolai M. Josuttis The C++ Standard Library - A Tutorial and Reference(中文版名为《C++标准库》)的作者,这本书出版以后成为实际上的标准读本。
【目录】
第1章关于本章 1.1阅读本书所需具备的知识 1.2本书的整体结构 1.3如何阅读本书 1.4关于编程风格的一些说明 1.5标准和现实 1.6代码例子和更多信息 1.7反馈 第1部分基础 第2章函数模板 2.1初探函数模板 2.1.1定义模板 2.1.2使用模板 2.2实参的演绎(deduction) 2.3模板参数 2.4重载函数模板 2.5小结 第3章类模板 3.1类模板Stack的实现 3.1.1类模板的声明 3.1.2成员函数的实现 3.2类模板Stack的使用 3.3类模板的特化 3.4局部特化 3.5缺省模板实参 3.6小结 第4章非类型模板参数 4.1非类型的类模板参数 4.2非类型的函数模板参数 4.3非类型模板参数的限制 4.4小结 第5章技巧性基础知识 5.1关键字typename 5.2使用this-> 5.3成员模板 5.4模板的模板参数 5.5零初始化 5.6使用字符串作为函数模板的实参 5.7小结 第6章模板实战 6.1包含模型 6.1.1链接器错误 6.1.2头文件中的模板 6.2显式实例化 6.2.1显式实例化的例子 6.2.2整合包含模型和显式实例化 6.3分离模型 6.3.1关键字export 6.3.2分离模型的限制 6.3.3为分离模型做好准备 6.4模板和内联 6.5预编译头文件 6.6调试模板 6.6.1理解长段的错误信息 6.6.2浅式实例化 6.6.3长符号串 6.6.4跟踪程序 6.6.5oracles 6.6.6archetypes 6.7本章后记 6.8小结 第7章模板术语 7.1"类模板"还是"模板类" 7.2实例化和特化 7.3声明和定义 7.4一处定义原则 7.5模板实参和模板参数 第2部分深入模板 第8章深入模板基础 8.1参数化声明 8.1.1虚成员函数 8.1.2模板的链接 8.1.3基本模板 8.2模板参数 8.2.1类型参数 8.2.2非类型参数 8.2.3模板的模板参数 8.2.4缺省模板实参 8.3模板实参 8.3.1函数模板实参 8.3.2类型实参 8.3.3非类型实参 8.3.4模板的模板实参 8.3.5实参的等价性 8.4友元 8.4.1友元函数 8.4.2友元模板 8.5本章后记 第9章模板中的名称 9.1名称的分类 9.2名称查找 9.2.1Argument-DependentLookup(ADL) 9.2.2友元名称插入 9.2.3插入式类名称 9.3解析模板 9.3.1非模板中的上下文相关性 9.3.2依赖型类型名称 9.3.3依赖型模板名称 9.3.4using-declaration中的依赖型名称 9.3.5ADL和显式模板实参 9.4派生和类模板 9.4.1非依赖型基类 9.4.2依赖型基类 9.5本章后记 第10章实例化 10.1On-Demand实例化 10.2延迟实例化 10.3C++的实例化模型 10.3.1两阶段查找 10.3.2POI 10.3.3包含模型与分离模型 10.3.4跨翻译单元查找 10.3.5例子 10.4几种实现方案 10.4.1贪婪实例化 10.4.2询问实例化 10.4.3迭代实例化 10.5显式实例化 10.6本章后记 第11章模板实参演译 11.1演绎的过程 11.2演绎的上下文 11.3特殊的演绎情况 11.4可接受的实参转型 11.5类模板参数 11.6缺省调用实参 11.7Barton-Nackman方法 11.8本章后记 第12章特化与重载 12.1当泛型代码不再适用的时候 12.1.1透明自定义 12.1.2语义的透明性 12.2重载函数模板 12.2.1签名 12.2.2重载的函数模板的局部排序 12.2.3正式的排序原则 12.2.4模板和非模板 12.3显式特化 12.3.1全局的类模板特化 12.3.2全局的函数模板特化 12.3.3全局成员特化 12.4局部的类模板特化 12.5本章后记 第13章未来的方向 13.1尖括号Hack 13.2放松typename的原则 13.3缺省函数模板实参 13.4字符串文字和浮点型模板实参 13.5放松模板的模板参数的匹配 13.6typedef模板 13.7函数模板的局部特化 13.8typeof运算符 13.9命名模板实参 13.10静态属性 13.11客户端的实例化诊断信息 13.12重载类模板 13.13List参数 13.14布局控制 13.15初始化器的演绎 13.16函数表达式 13.17本章后记 第3部分模板与设计 第14章模板的多态威力 14.1动多态 14.2静多态 14.3动多态和静多态 14.3.1术语 14.3.2优点和缺点 14.3.3组合这两种多态 14.4新形式的设计模板 14.5泛型程序设计 14.6本章后记 第15章trait与policy类 15.1一个实例:累加一个序列 15.1.1fixedtraits 15.1.2valuetrait 15.1.3参数化trait 15.1.4policy和policy类 15.1.5trait和policy:区别在何处 15.1.6成员模板和模板的模板参数 15.1.7组合多个policie和/或trait 15.1.8运用普通的迭代器进行累积 15.2类型函数 15.2.1确定元素的类型 15.2.2确定class类型 15.2.3引用和限定符 15.2.4promotiontrait 15.3policytrait 15.3.1只读的参数类型 15.3.2拷贝、交换和移动 15.4本章后记 第16章模板与继承 16.1命名模板参数 16.2空基类优化 16.2.1布局原则 16.2.2成员作基类 16.3奇特的递归模板模式 16.4参数化虚拟性 16.5本章后记 第17章metaprogram 17.1metaprogram的第一个实例 17.2枚举值和静态常量 17.3第2个例子:计算平方根 17.4使用归纳变量 17.5计算完整性 17.6递归实例化和递归模板实参 17.7使用metaprogram来展开循环 17.8本章后记 第18章表示式模板 18.1临时变量和分割循环 18.2在模板实参中编码表达式 18.2.1表达式模板的操作数 18.2.2Array类型 18.2.3运算符 18.2.4回顾 18.2.5表达式模板赋值 18.3表达式模板的性能与约束 18.4本章后记 第4部分高级应用程序 第19章类型区分 19.1辨别基本类型 19.2辨别组合类型 19.3辨别函数类型 19.4运用重载解析辨别枚举类型 19.5辨别class类型 19.6辨别所有类型的函数模板 19.7本章后记 第20章智能指针 20.1holder和trule 20.1.1安全处理异常 20.1.2holder 20.1.3作为成员的holder 20.1.4资源获取于初始化 20.1.5holder的局限 20.1.6复制holder 20.1.7跨函数调用来复制holder 20.1.8trule 20.2引用记数 20.2.1计数器在什么地方 20.2.2并发访问计数器 20.2.3析构和释放 20.2.4CountingPtr模板 20.2.5一个简单的非侵入式计数器 20.2.6一个简单的侵入式计数器模板 20.2.7常数性 20.2.8隐式转型 20.2.9比较 20.3本章后记 第21章tuple 21.1duo 21.2可递归duo 21.2.1域的个数 21.2.2域的类型 21.2.3域的值 21.3tuple构造 21.4本章后记 第22章函数对象和回调 22.1直接调用、间接调用与内联调用 22.2函数指针与函数引用 22.3成员函数指针 22.4class类型的仿函数 22.4.1class类型仿函数的第1个实例 22.4.2class类型仿函数的类型 22.5指定仿函数 22.5.1作为模板类型实参的仿函数 22.5.2作为函数调用实参的仿函数 22.5.3结合函数调用参数和模板类型参数 22.5.4作为非类型模板实参的仿函数 22.5.5函数指针的封装 22.6内省 22.6.1分析一个仿函数的类型 22.6.2访问参数的类型 22.6.3封装函数指针 22.7函数对象组合 22.7.1简单的组合 22.7.2混合类型的组合 22.7.3减少参数的个数 22.8值绑定 22.8.1选择绑定的目标 22.8.2绑定签名 22.8.3实参选择 22.8.4辅助函数 22.9仿函数操作:一个完整的实现 22.10本章后记 附录A一处定义原则 A.1翻译单元 A.2声明和定义 A.3一处定义原则的细节 A.3.1程序的一处定义约束 A.3.2翻译单元的一处定义约束 A.3.3跨翻译单元的等价性约束 附录B重载解析 B.1何时应用重载解析 B.2简化过的重载解析 B.2.1成员函数的隐含实参 B.2.2细化完美匹配 B.3重载的细节 B.3.1非模板优先 B.3.2转型序列 B.3.3指针的转型 B.3.4仿函数和代理函数 B.3.5其他的重载情况 参考资料 术语表
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价