出版时间:2012-3 出版社:科学出版社 作者:斯特劳斯特鲁普 译者:裘宗燕
Tag标签:无
内容概要
本书是C++的设计者关于c++语言的最主要著作之一。作者综合性地论述了c++的发展历史,c++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景。全共18章,分两大部分,其中第l部分(第1—9章)分别介绍了C++的史前时代、C
with
Classes、C++的诞生、C++语言设计规则、1985--1993年表、标准化、关注和使用、库、展望:第2部分(第10~18章)分别介绍了存储管理、重载、多重继承、类概念的精练、强制转换、模板、异常处理、名称空间、C语言预处理器。为便于查找与学习,全书最后附有专业术语索引。本书在帮助人们理解C++语言方面的作用是不可替代的。
本书面向每个学习和关注C++语言的专业工作者、科研人员、教师及学生。
作者简介
作者:(美国)斯特劳斯特鲁普(Bjarne Stroustrup) 译者:裘宗燕斯特劳斯特鲁普(Bjarne Stroustrup)是C++的设计者和最初的实现者,也是《c++程序设计语言》(The C++ Programming Language)的作者。他是AT&T贝尔实验室大规模程序研究部的负责人,并因构筑c++程序设计语言基础的早期工作而获得了ACM 1993年度Grace Murray Hopper奖。Stroustrup博士拥有丹麦Aarhus大学硕士学位、英国剑桥大学博士学位,是ACM特别会员、AT&T贝尔实验室特别成员及AT&T特别成员。他的研究兴趣包括分布式系统、操作系统、模拟、设计和编程。
书籍目录
第0章致读者
第1部分
第1章C++的史前时代
1.1Simula~E1分布式系统
1.2 C与系统程序设计
1.3一般性的背景
第2章C with Classes
2.1C with Classes的诞生
2.2特征概览
2.3类
2.4运行时的效率
2.5连接模型
2.5.1纯朴的实现
2.5.2对象连接模型
2.6静态类型检查
2.6.1窄转换
2.6.2警告的使用
2.7为什么是仁
2.8语法问题
2.8.1C声明的语法
2.8.2结构标志与类型名
2.8.3语法的重要性
2.9派生类
2.9.1没有虚函数时的多态性
2.9.2没有模板时的容器类
2.9.3对象的布局模型
2.9.4回顾
2.10保护模型
2.11运行时的保证
……
第2部分
索引
章节摘录
版权页:插图:虽然支持模板的实现已经比较常见了,但它们还不是广泛可用的。进一步说,大部分实现还处在不够成熟的阶段,这种情况也限制了模板对人们思考C++和程序设计时可能产生的影响。ANSI/ISO对各种黑暗角落的解决方案应该设法处理这两方面的问题,以使我们能看到模板在C++程序员的工具箱中取得中心地位,这也正是设计它的目标。15.11.1 实现与界面的分离模板机制完全是编译时和连接时的机制,模板机制的任何部分都不需要运行时支持。这当然是经过深思熟虑的,但也遗留下一个问题:如何让从模板产生的(实例化出来的)类和函数能够依靠那些只有到了运行时才能知道的信息?与C++的其他地方一样,回答是使用虚函数。许多人都表达了一种担心,模板好像过分地依靠了源代码的可用性。这被认为能带来两种负面的副作用。[1]你无法将自己的实现作为你的商业秘密。[2]如果模板的实现改变了,用户的代码就必须重新编译。这两点确实是在大部分实现中遇到的情况。但是,利用提供界面的类派生出模板类的技巧可以限制这些问题的影响。模板经常被用来为某些可能需要“秘密的”部分提供接口,使那些部分可以修改又不会对用户产生任何影响。§15.5的pvector是这方面的一个简单例子;而§13.2.2中set例子的模板版本是另一个例子。我的观点是,关心这些事项的人应该用虚函数概念作为自己的另一种选择,我不需要再提供另一种跳步表⑤。
编辑推荐
《C++语言的设计与演化》由C++语言的设计者Bjarne Stroustrup著就,是一本阐述C++语言的设计及开发过程的无可争辩的内情手册。Stroustrup在此展示了他在构造C++雏形时采取一系列决策的独有洞察力,既没有忽略关键性的详情,又没有过多地陷入技术细节。Stroustrup先生详尽解释了C++语言背后的奥妙,每个C++程序员都能从中大获裨益。《C++语言的设计与演化》架构清晰、易于阅读,寓教于乐。大量关键性的见解为初学者提供了许多逻辑“挂钩”,以帮助读者理解各种语言细节。《C++语言的设计与演化》还提供了有关关键设计决策的大量信息和讨论细节,同样能增强高级读者对该语言的理解。《C++语言的设计与演化》的特点:对构造C++语言时的目标、原理和现实约束进行了深入剖析;详述了C++语言中各个特征的设计决策;展现了C++语言特征与C++支持的设计和编程技术之间的关系;讨论了最新语言特征的设计问题:模板、异常、运行时类型信息和名称空间。荣获美国Software Development Productivity Award大奖,著译双馨。
图书封面
图书标签Tags
无
评论、评分、阅读与下载