返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • 醉染图书C++程序设计语言9787111544395
  • 正版全新
    • 作者: (美)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著;王刚,杨巨峰 译著 | (美)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著;王刚,杨巨峰 译编 | (美)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著;王刚,杨巨峰 译译 | (美)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著;王刚,杨巨峰 译绘
    • 出版社: 机械工业出版社
    • 出版时间:2016-08-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    醉染图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: (美)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著;王刚,杨巨峰 译著| (美)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著;王刚,杨巨峰 译编| (美)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著;王刚,杨巨峰 译译| (美)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著;王刚,杨巨峰 译绘
    • 出版社:机械工业出版社
    • 出版时间:2016-08-01
    • 版次:1
    • 印次:1
    • 印刷时间:2016-08-01
    • 页数:352
    • 开本:16开
    • ISBN:9787111544395
    • 版权提供:机械工业出版社
    • 作者:(美)本贾尼·斯特劳斯鲁(Bjarne Stroustrup) 著;王刚,杨巨峰 译
    • 著:(美)本贾尼·斯特劳斯鲁(Bjarne Stroustrup) 著;王刚,杨巨峰 译
    • 装帧:平装
    • 印次:1
    • 定价:89.00
    • ISBN:9787111544395
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:2016-08-01
    • 语种:中文
    • 出版时间:2016-08-01
    • 页数:352
    • 外部编号:1201381745
    • 版次:1
    • 成品尺寸:暂无

    出版者的话
    译者序
    前言
    第3版前言
    第2版前言
    版前言
    第四部分标准库
    第30章标准库概览2
    30.1引言2
    30.1.1标准库设施2
    30.1.2设计约束4
    30.1.3描述风格4
    30.2头文件5
    30.3语言支持9
    30.3.1initializer_list支持9
    30.3.2范围for支持10
    30.4错误处理10
    30.4.1异常10
    30.4.2断言14
    30.4.3system_errr5
    30.5建议
    3章STL容器24
    31.1引言24
    31.2容器概览24
    31.2.1容器表示27
    31.2.2对元素的要求28
    31.3操作概览30
    31.3.1成员类型32
    31.3.2构造函数、析构函数和赋值操作33
    31.3.3大小和容量34
    31.3.4迭代器35
    31.3.5元素访问36
    31.3.6栈操作36
    31.3.7列表操作37
    31.3.8操作38
    31.4容器38
    31.4.1vector38
    31.4.2链表42
    31.4.3关联容器44
    31.5容器适配器53
    31.5.1stack54
    31.5.2queue55
    31.5.3priority_queue56
    31.6建议57
    第32章STL算法59
    32.1引言59
    32.2算法59
    32.2.1序列60
    3.策略实参61
    3..1复杂62
    32.4不修改序列的算法63
    32.4.1for_each()63
    32.4.2序列谓词63
    32.4.3count()63
    32.4.4find()64
    32.4.5equal()和mismatch()64
    32.4.6search()65
    32.5修改序列的算法66
    32.5.1copy()66
    32.5.2unique()67
    32.5.3remove()和replace()68
    32.5.4rotate()、random_shuffle()和partition()69
    32.5.5排列70
    32.5.6fill()70
    32.5.7swap()71
    32.6排序和搜索71
    32.6.1二分搜索74
    32.6.2merge()75
    32.6.3集合算法75
    32.6.4堆76
    32.6.5lexicographical_compare()77
    32.7优选值和值78
    32.8建议79
    第33章STL迭代器80
    33.1引言80
    33.1.1迭代器模型80
    33.1.2迭代器类别81
    33.1.3迭代器萃取82
    33.1.4迭代器操作85
    33.2迭代器适配器85
    33.2.1反向迭代器86
    33.2.2插入迭代器88
    33..移动迭代器89
    33.3范围访问函数89
    33.4函数对象90
    33.5函数适配器91
    33.5.1bind()92
    33.5.2mem_fn()93
    33.5.3function93
    33.6建议95
    第34章内存和资源96
    34.1引言96
    34.2“拟容器”96
    34.2.1array97
    34.2.2bitset99
    34..vector<bol>03
    34.2.4元组104
    34.3资源管理指针107
    34.3.1unique_ptr108
    34.3.2shared_ptr111
    34.3.3weak_ptr113
    34.4分配器115
    34.4.1默认分配器116
    34.4.2分配器萃取118
    34.4.3指针萃取119
    34.4.4限域的分配器119
    34.5垃圾收集接口121
    34.6未初始化内存1
    34.6.1临时缓冲区1
    34.6.2raw_storage_iteratr24
    34.7建议125
    第35章工具126
    35.1引言126
    35.2时间126
    35.2.1duration127
    35.2.2time_point129
    35..时钟131
    35.2.4时间萃取132
    35.3编译时有理数运算132
    35.4类型函数134
    35.4.1类型萃取134
    35.4.2类型生成器138
    35.5工具142
    35.5.1move()和forward()142
    35.5.2swap()143
    35.5.3关系运算符143
    35.5.4比较和哈希type_inf44
    35.6建议145
    第36章字符串146
    36.1引言146
    36.2字符分类146
    36.2.1分类函数146
    36.2.2字符萃取147
    36.3字符串148
    36.3.1string与C风格字符串149
    36.3.2构造函数151
    36.3.3基本操作152
    36.3.4字符串I/O153
    36.3.5数值转换154
    36.3.6类STL操作155
    36.3.7find系列函数157
    36.3.8子串158
    36.4建议159
    第37章正则表达式160
    37.1正则表达式160
    37.1.1正则表达式符号表示161
    37.2regex165
    37.2.1匹配结果166
    37.2.2格式化169
    37.3正则表达式函数170
    37.3.1regex_match()170
    37.3.2regex_search()171
    37.3.3regex_replace()172
    37.4正则表达式迭代器173
    37.4.1regex_iteratr73
    37.4.2regex_token_iteratr75
    37.5regex_traits176
    37.6建议177
    第38章I/O流178
    38.1引言178
    38.2I/O流层次180
    38.2.1文件流180
    38.2.2字符串流182
    38.3错误处理183
    38.4I/O操作184
    38.4.1输入操作185
    38.4.2输出操作187
    38.4.3操纵符189
    38.4.4流状态190
    38.4.5格式化194
    38.5流迭代器200
    38.6缓冲201
    38.6.1输出流和缓冲区204
    38.6.2输入流和缓冲区205
    38.6.3缓冲区迭代器205
    38.7建议207
    第39章区域设置209
    39.1处理文化差异209
    39.2类locale211
    39.2.1命名locale213
    39.2.2比较string216
    39.3类facet217
    39.3.1访问locale中的facet218
    39.3.2一个简单的用户自定义facet218
    39.3.3locale和facet的使用221
    39.4标准facet221
    39.4.1string比较2
    39.4.2数值格式化226
    39.4.3货币格式化1
    39.4.4日期和时间格式化5
    39.4.5字符分类
    39.4.6字符编码转换241
    39.4.7消息244
    39.5便利接口248
    39.5.1字符分类248
    39.5.2字符转换248
    39.5.3字符串转换249
    39.5.4缓冲区转换250
    39.6建议250
    第40章数值计算252
    40.1引言252
    40.2数值252
    40.2.1数值宏255
    40.3标准数学函数255
    40.4复数complex257
    40.5数值数组:valarray258
    40.5.1构造函数和赋值操作258
    40.5.2下标操作260
    40.5.3运算261
    40.5.4切片263
    40.5.5slice_array265
    40.5.6推广切片265
    40.6推广数值算法267
    40.6.1accumulate()267
    40.6.2inner_product()268
    40.6.3partial_sum()和adjacent_difference()269
    40.6.4iota()270
    40.7随机数270
    40.7.1引擎272
    40.7.2随机设备274
    40.7.3分布274
    40.7.4C风格随机数277
    40.8建议278
    第41章并发279
    41.1引言279
    41.2内存模型280
    41.2.1内存位置281
    41.2.2指令重排282
    41..内存序282
    41.2.4数据竞争283
    41.3原子25
    41.3.1atomic类型287
    41.3.2标志和栅栏291
    41.4volatile292
    41.5建议292
    第42章线程和任务293
    42.1引言293
    42.2线程293
    42.2.1身份294
    42.2.2构造295
    42..析构296
    42.2.4join()297
    42.2.5detach()298
    42.2.6名字空间this_thread299
    42.2.7杀死thread300
    42.2.8thread_local数据300
    4.避免数据竞争302
    4..1互斥量302
    4..2多重锁309
    4..call_once()311
    4..4条件变量311
    42.4基于任务的并发315
    42.4.1future和promise316
    42.4.2promise317
    42.4.3packaged_task318
    42.4.4future320
    42.4.5shared_future3
    42.4.6async()3
    42.4.7一个并行find()示例325
    42.5建议328
    第43章C标准库330
    43.1引言330
    43.文件0
    43.3printf()系列函数331
    43.4C风格字符串334
    43.5内存335
    43.6日期和时间336
    43.7杂项339
    43.8建议340
    第44章兼容341
    44.1引言341
    44.2C++11扩展341
    44.2.1语言特341
    44.2.2标准库组件343
    44..弃用特344
    44.2.4应对旧版本C++实现344
    44.3C/C++兼容345
    44.3.1C和C++是兄弟345
    44.3.2“静默”差异346
    44.3.3不兼容C++的C代码347
    44.3.4不兼容C的C++代码350
    44.4建议351

    本贾尼`斯特劳斯鲁(Bjarne Stroustrup),C++语言的设计者和很初实现者,C++语言ISO标准化工作的积极参与者,同时也是《C++程序设计语言》和《C++程序设计原理与实践》的作者。他是英国剑桥大学计算机科学专业博士,1 979年加入美国新泽西贝尔实验室,从成立到2002年一直担任贝尔实验室大规模程序设计研究部门的负责人。2002年至2014年,Bjarne被评为德州农工大学工程学院计算机科学首席教授,哥伦比亚大学计算机科学系客座教授,德州农工大学计算机科学系杰出研究教授。多年来,他为剑桥大学、哥伦比亚大学和普林斯顿大学等知名学府的计算机科学教学事业倾注了大量的热情和精力。商业领域方面,Bjarne是RollApp科技公司的资历顾问。2014年,Bjame加入摩根士丹利纽约总部,任职技术与数据部门的董事总经理。他是美国工程院院士、IEEE会士和ACM会士,研究兴趣包括分布式系统、设计、程序设计技术、软件开发工具和程序设计语言。

    前  言The C++ Programming Language, Fourth Edition所有计算机科学问题,都可以通过引入一个新的间接层次来解决,那些已有过多间接层次的问题除外。
        ——David J. Wheeler与C++98标准相比,C++11标准让我可以更清晰、更简洁而且更直接地表达自己的想法。而且,新版本的编译器可以对程序进行更好的检查并生成更快的目标程序。因此,C++11给人的感觉就像是一种新语言一样。
        在本书中,我追求完整(comleess)。我会介绍专业程序员可能需要的每个语言特和标准库组件。对每个特或组件,我将给出:
        基本原理:设计这个特(组件)是为了帮解决哪类问题?其设计原理是什么?它有什么根本的局限?规范:它该如何定义?我将以专业程序员为目标读者来选择内容的详略程度,对于要求更高的C++语言研究者,有很多ISO标准的文献可供查阅。
        例子:当单独使用这个特或与特组合使用时,如何用好它?其中的关键技术和习惯用法是怎样的?在程序的可维护和能方面有一些隐含的问题?多年来,无论是C++语言本身还是它的使用,都已经发生了巨大改变。从程序员的角度,大多数改变都属于语言的改进。与之前的版本相比,当前的ISO C++标准(ISO/IEC 14882-2011,通常称为C++11)在编写高质量代码方面无疑是一个好得多的工具。但是它好在哪里?现代C++语言支持什么样的程序设计风格和技术?这些技术靠哪些语言特和标准库特来支撑?精练、正确、可维护好、能的C++代码的基本构建单元是怎样的?本书将回答这些关键问题。很多已经不同于1985、1995或2005等旧版本的C++语言了:C++在进步。
        C++是一种通用程序设计语言,它强调富类型、轻量级抽象的设计和使用。C++特别适合开发资源受限的应用,例如可在软件基础设施中发现的那些应用。那些花费时间学习高质量代码编写技术的程序员将会从C++语言受益良多。C++是为那些严肃对待编程的人而设计的。人类文明已经严重依赖软件,编写高质量的软件很好重要。
        目前已经部署的C++代码达到数十亿行,因此程序稳定备受重视——很多1985年和1995年编写的C++代码仍然运行良好,而且还会继续运行几十年。但是,对所有这些应用程序,都可以用现代C++语言写出更好的版本;如果你墨守成规,将来写出的代码将会是低质量、低能的。对稳定的强调还意味着,你现在遵循标准写出的代码,在未来几十年中会运行良好。本书中所有代码都遵循2011 ISO C++标准。
        本书面向三类读者:
        想知道近期新的ISO C++标准都提供了哪些新特的C++程序员。
        好奇C++到底提供了哪些C语言的特的C程序员。
        具备Java、C#、Python和Ruby等编程语言背景,正在探寻“更接近机器”的语言,即更灵活、提供更好的编译时检查或是更好能的语言的程序员。
        自然,这三类读者可能是有交集的——一个专业软件开发者通常掌握多门编程语言。
        本书定目标读者是程序员。如果你想问“什么是for循环?”或是“什么是编译器?”,那么本书现在还不适合你,我向你我的另一本书《C++程序设计原理与实践》,这本书适合作为程序设计和C++语言的入门书籍。而且,我定读者是较为成熟的软件开发者。如果你的问题是“为什么要费力进行测试?”或者认为“所有语言基本都是一样的,给我看语法就可以了”,甚至确信存在一种适合所有任务的完美语言,那么本书也不适合你。
        相对于C++98,C++11提出了哪些改进和新特呢?适合现代计算机的机器模型会涉及大量并发处理。为此,C++11提供了用于系统级并行编程(如使用多核)的语言和标准库特。C++11还提供了正则表达式处理、资源管理指针、随机数、改进的容器(包括哈希表)以及很多特。此外,C++11还提供了通用和一致的初始化机制、更简单的for语句、移动语义、基础的Unicode支持、lambda表达式、通用常量表达式、控制类缺省定义的能力、可变参数模板、用户定义的字面值常量和很多新特。请记住,这些标准库和语言特的目标就是撑些用来开发高质量软件的程序设计技术。这些特应该组合使用——将它们看作盖大楼的砖,而不应该相互隔离地单独使用来解决特定问题。计算机是一种通用机器,而C++在其中起着重要作用。特别是,C++的设计目标就是足够灵活和通用,以便处理那些连它的设计者都未曾想象过的未来难题。
        致谢除了本书上一版致谢提及的人之外,我还要感谢Pete Becker、Hans-J. Boehm、Marshall Clow、Jonathan Coe、Lawrence Crowl、Walter Daugherty、J. Daniel Garcia、Robert Harle、Greg Hickman、Howard Hinnant、Brian Kernighan、Daniel Krügler、Nevin Liber、Michel Michaud、Gary Powell、Jan Christiaan van Winkel和Leor Zolman。没有他们的帮,本书的质量要差得多。
        感谢Howard Hinnant为我解答很多有关标准库的问题。
        Andrew Sutton是Origin库的作者,模板相关章节中很多模拟概念的讨论都是基于这个测试平台的。他还是Matrix库的作者,这是第29章的主题。Origin库是开源的,在互联网上搜索“Origin”和“Andrew Sutton”就能找到。
        感谢我指导的设计班,他们从部中找出的问题比任何人都多。
        如我能遵照审阅人的所有建议,毫无疑问会大幅度提高本书的质量,但篇幅上也会增加数百页。每个专家审阅人都建议增加技术细节、进阶示例和很多有用的开发规范;每个新手审阅人(或教育工作者)都建议增加示例;而大多数审阅人都(正确地)注意到本书的篇幅可能过长了。
        感谢普林斯顿大学计算机科学系,特别感谢Brian Kernighan教授,在我利用部分休时间撰写此书时给予我热情接待。
        感谢剑桥大学计算机实验室,特别感谢Andy Hopper教授,在我利用部分休时间撰写此书时给予我热情接待。
        感谢编辑Peter Gordon以及他在Addison-Wesley的出版团队,感谢你们的帮和耐心。
        Bjarne Stroustrup于得克萨斯大学城第3版前言The C++ Programming Language, Fourth Edition去编程就是去理解。
        ——Kristen Nygaard我觉得用C++编程比以往更令人愉快。在过去这些年里,C++在支持设计和编程方面取得了令人振奋的进步,针对其使用的大量新技术已经被开发出来了。然而,C++并不只是好玩。普通的程序员在几乎所有种类和规模的开发项目上,在生产率、可维护、灵活和质量方面都取得了显著的进步。到今天为止,C++已经实现了我当初期望中的绝大部分,还在许多我原来根本没有梦想过的工作中取得了成功。
        本书介绍的是标准C++以及由C++所支持的关键编程技术和设计技术。与本书版所介绍的那个C++版本相比,标准C++是一个经过了更仔细推敲的更强大的语言。各种新的语言特征,如名字空间、异常、模板,以及运行时类型识别,使人能以比过去更直接的方式使用许多技术,标准库使程序员能够从比基本语言高得多的层面上起步。
        本书第2版中大约有三分之一的内容来自版。第3版则重写了更大的篇幅。它提供的许多东西是大部分有经验的程序员也需要的,与此同时,本书也比它的以前版本更容易让新手入门。C++使用的增长和由此带来的海量经验积累使这些成为可能。
        一个功能广泛的标准库定义使我能以一种与以前不同的方式介绍C++的各种概念。与过去一样,本书对C++的介绍与任何特定的实现都没有关系;与过去一样,教材式的各章还是采用“自下而上”的方式,使每种结构都是在定义之后才使用。无论如何,使用一个设计良好的库远比理解其实现细节容易得多。因此,定读者在理解标准库的内部工作原理之前,就可以利用它提供许多更实际、更有趣的例子。标准库本身也是程序设计示例和设计技术的丰富源泉。
        本书将介绍每种主要的C++语言特征和标准库,它是围绕着语言和库功能组织起来的。当然,各种特征都将在使用它们的环境中介绍。也就是说,这里所关注的是将语言作为一种设计和编程的工具,而不是语言本身。本书将展示那些使C++卓有成效的关键技术,讲述为掌握它们所需要的基本概念。除了专门阐释技术细节的那些地方之外,示例都取自系统软件领域。另一本与本书配套出版的书《带标注的C++语言标准》(The Annotated C++ Language Standard),将给出完整的语言定义,所附标注能使它更容易理解。
        本书的基本目标就是帮读者理解C++所提供的功能将如何支持关键的程序设计技术。这里的目标是使读者能远远简单地复制示例并使之能够运行,或者模仿来自语言的程序设计风格。只有对隐藏在语言背后的思想有了很好的理解之后,才能真正掌握这个语言。如果有一些具体实现的文档的辅,这里所提供的信息就足以对付具有挑战的真实世界中的重要项目。我的希望是,本书能帮读者获得新的洞察力,使他们成为更好的程序员和设计师。
        致谢除了版和第2版的致谢中所提到的那些人之外,我还要感谢Matt Austern、Hans Boehm、Don Caldwell、Lawrence Crowl、Alan Feuer、Andrew Forrest、David Gay、Tim Griffin、Peter Juhl、Brian Kernighan、Andrew Koenig、Mike Mowbray、Rob Murray、Lee Nackman、Joseph Newcomer、Alex Stepanov、David Vandevoorde、Peter Weinberger和Chris Van Wyk,他们对第3版各章的初稿提出了许多意见。没有他们的帮和建议,这本书一定会更难理解,包含更多的错误,没有这么完整,当然也可能稍微短一点。
        我还要感谢C++标准化委员会的志愿者们,是他们完成了规模宏大的建设工作,才使C++具有它今天这个样子。要罗列出每个人会有一点不公平,但一个也不提就更不公平,所以我想特别提及Mike Ball、Dag Brück、Sean Corfield、Ted Goldstein、Kim Knuttila、Andrew Koenig、Dmitry Lenkov、Nathan Myers、Martin O’Riordan、Tom Plum、Jonathan Shopiro、John Spicer、Jerry Schwarz、Alex Stepanov和Mike Vilot,他们中的每个人都在C++及其标准库的某些方面直接与我合作过。
        在这本书次印刷之后,许多人给我发来邮件,提出更正和建议。我已经在本书的结构中响应了他们的建议,使后来出版的版本大为改善。将本书翻译到各种语言的译者也提供了许多澄清的意见。作为对这些读者的回应,我增加了附录D和附录E。让我借这个机会感谢他们之中特别有帮的几位:Dave Abrahams、Matt Austern、Jan Bielawski、Janina Mincer Daszkiewicz、Andrew Koenig、Dietmar Kühl、Nicolai Josuttis、Nathan Myers、Paul E. Sevin?、Andy Tenne-Sens、Shoichi Uchida、Ping-Fai(Mike) Yang和Dennis Yelle。
        Bjarne Stroustrup于新泽西默里山第2版前言The C++ Programming Language, Fourth Edition前路漫漫。
        ——Bilbo Baggins正如在本书的版中所承诺的,C++为满足其用户的需要正在不断地演化。这一演化过程得益于许多有着极大的背景差异,在范围广泛的应用领域中工作的用户们的实际经验的指导。在版出版后的六年中,C++的用户群体扩大了不止百倍,人们学到了许多东西,发现了许多新技术并通过了实践的检验。这些技术中的一些也在这一版中有所反映。
        在过去六年里所完成的许多语言扩展,其基本宗旨就是将C++提升为一种服务于一般的数据抽象和面向对象程序设计的语言,特别是提升为一个可编写高质量的用户定义类型库的工具。一个“高质量的库”是指这样的库,它以一个或几个方便、安全且高效的类的形式,给用户提供了一个概念。在这个环境中,安全意味着这个类在库的使用者与它的供方之间构成了一个特殊的类型安全的界面;高效意味着与手工写出的C代码相比,这种库的使用不会给用户强加明显的运行时间上或空间上的额外开销。
        本书介绍的是完整的C++语言。从章到0章是一个教材式的导引,1章到3章展现的是一个有关设计和软件开发问题的讨论,包含了完整的C++参考手册。自然,在原来版本之后新加入的特征和变化已成为这个展示的有机组成部分。这些特征包括:经过精化后的重载解析规则和存储管理功,以访问控制机制、类型安全的连接、const和static成员函数、抽象类、多重继承、模板和异常处理。
        C++是一个通用的程序设计语言,其核心应用领域是广泛意义上的系统程序设计。此外,C++还被成功地用到许多无法称为系统程序设计的应用领域中。从摩登的小型计算机到优选的不错计算机上,以及几乎所有操作系统上都有C++的实现。因此,本书描述的是C++语言本身,并不想试着去解释任何特殊的实现、程序设计环境或者库。
        本书中给出的许多类的示例虽然都很有用,但也还是应该归到“玩具”一类。与在完整的精益求精的程序中做解释相比,这里所采用的解说风格能更清晰地呈现那些具有普遍意义的原理和极其有用的技术,在实际例子中它们很容易被细节所淹没。这里给出的大部分有用的类,如链接表、数组、字符串、矩阵、图形类、关联数组等,在广泛可用的各种商品和非商品资源中,都有可用的“防弹”或“金盘”版本。那些“具有工业强度”的类和库中的许多东西,实际上不过是在这里可以找到的玩具版本的直接或间接后裔。
        与版相比,这一版更加强调本书在教学方面的作用。然而,这里的叙述仍然是针对有经验的程序员,并努力不去轻视他们的智慧和经验。有关设计问题的讨论有了很大的扩充,作为对读者在语言特征及其直接应用之外的要求的一种回应。技术细节和准确也有所。特别是,这里的参考手册体现了在这个方向上多年的工作。我的目标是提供一本具有足够深度的书籍,使大部分程序员能在多次阅读中都有所收获。换句话说,这本书给出的是C++语言,它的基本原理,以及使用时所需要的关键技术。欢迎欣赏!
        致谢除了在版前言的致谢里所提到的人们之外,我还要感谢Al Aho、Steve Buroff、Jim Coplien、Ted Goldstein、Tony Hansen、Lorraine Juhl、Peter Juhl、Brian Kernighan、Andrew Koenig、Bill Leggett、Warren Montgomery、Mike Mowbray、Rob Murray、Jonathan Shopiro、Mike Vilot和Peter Weinberger,他们对第2版的初稿提出了许多意见。许多人对C++从1985年到1991年的开发有很大影响,我只提其中几个:Andrew Koenig,Brian Kernighan,Doug McIlroy和Jonathan Shopiro。还要感谢参考手册“外部评阅”的许多参与者,以及在X3J16的整个年里一直在其中受苦的人们。
        Bjarne Stroustrup于新泽西默里山版前言The C++ Programming Language, Fourth Edition语言磨砺了我们思维的方式,也决定着我们思考的范围。
        ——B. L. WhorfC++是一种通用的程序设计语言,其设计就是为了使认真的程序员工作得更愉快。除了一些小细节之外,C++是C程序设计语言的一个超集。C++提供了C所提供的各种功能,还为定义新类型提供了灵活而有效的功能。程序员可以通过定义新类型,使这些类型与应用中的概念紧密对应,从而把一个应用划分成许多容易管理的片段。这种程序构造技术通常被称为数据抽象。某些用户定义类型的对象包含着类型信息,这种对象就可以方便而安全地用在那种对象类型无法在编译时确定的环境中。使用这种类型的对象的程序通常被称为是基于对象的。如果用得好,这些技术可以产生出更短、更容易理解,而且也更容易管理的程序。
        C++里的关键概念是类。一个类就是一个用户定义类型。类提供了对数据的隐藏,数据的初始化保,用户定义类型的隐式类型转换,动态类型识别,用户控制的存储管理,以及重载运算符的机制等。在类型检查和表述模块方面,C++提供了比C好得多的功能。它还包含了许多并不直接与类相关的改进,包括符号常量、函数的在线替换、默认函数参数、重载函数名、自由存储管理运算符,以及引用类型等。C++保持了C高效处理硬件基本对象(位、字节、字、地址等)的能力。这就使用户定义类型能够在相当高的效率水平上实现。
        C++及其标准库也是为了可移植而设计的。当前的实现能够在大多数支持C的系统上运行。C的库也能用于C++程序,而且大部分支持C程序设计的工具也同样能用于C++。
        本书的基本目标就是帮认真的程序员学习这个语言,并将它用于那些非平凡的项目。书提了有关C++的完整描述,许多完整的例子,以及更多的程序片段。
        致谢如果没有许多朋友和同事持之以恒的使用、建议和建设的批评,C++绝不会像它现在这样成熟。特别地,Tom Cargill、Jim Coplien、Stu Feldman、Sandy Fraser、Steve Johnson、Brian Kernighan、Bart Locanthi、Doug McIlroy、Dennis Ritchie、Larry Rosler、Jerry Schwarz和Jon Shopiro对语言发展提供了重要的思想。Dave Presotto写出了流I/O库的当前实现。
        此外,还有几百人对C++及其编译器的开发做出了贡献:给我提出改进的建议,描述所遇到的问题,告诉我编译中的错误等。我只提其中的很少几位:Gary Bishop,Andrew Hume,Tom Karzes,Victor Milenkovic,Rob Murray,Leonie Rose,Brian Schmult和Gary Walker。
        许多人在本书的撰写过程中为我提供了帮,特别值得提出的是Jon Bentley、Laura Eaves、Brian Kernighan、Ted Kowalski、Steve Mahaney、Jon Shopiro,以及参加1985年7月26 ~ 27日俄亥俄州哥伦布贝尔实验室C++课程的人们。
        Bjarne Stroustrup于新泽西默里山

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购