您好,欢迎来到聚文网。 登录 免费注册
C++语言导学(英文版.第2版)/(美)本贾尼.斯特劳斯特鲁普

C++语言导学(英文版.第2版)/(美)本贾尼.斯特劳斯特鲁普

一本简洁、自成体系的包含C++语言大多数主要特性和标准库组件的导论性书籍。
  • 字数: 1000
  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: [美]本贾尼·斯特劳斯特鲁普Bjarne Stroustrup 著
  • 出版日期: 2019-01-01
  • 商品条码: 9787111615644
  • 版次: 1
  • 开本: 16开
  • 页数: 240
  • 出版年份: 2019
定价:¥79 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
在这本中,作者把C++完整参考手册中的综述内容摘取出来,并且进行必要的扩充和提升,目的是让有经验的程序员在很短时间之内就能清晰地了解到是哪些元素构成了现代的C++语言。本书虽薄,结构却清晰完整,作者在书中介绍了C++语言的绝大多数特性以及*重要的一些标准库组件。尤其难能可贵的是,虽然受篇幅所限无法对每个知识点展开深入讲解,但依然能够帮助程序员了解语言的全貌,并给出一些关键示例,便于他们更好地学习和使用C++语言。
作者简介
本贾尼?斯特劳斯特鲁普(Bjarne Stroustrup),C++语言的设计者和最初实现者,C++语言ISO标准化工作的积极参与者,同时也是《C++程序设计语言》和《C++程序设计原理与实践》的作者。他是英国剑桥大学计算机科学专业博士,1 979年加入美国新泽西贝尔实验室,从成立到2002年一直担任贝尔实验室大规模程序设计研究部门的负责人。2002年至2014年,Bjarne被评为德州农工大学工程学院计算机科学首席教授,哥伦比亚大学计算机科学系客座教授,德州农工大学计算机科学系杰出研究教授。多年来,他为剑桥大学、哥伦比亚大学和普林斯顿大学等知名学府的计算机科学教学事业倾注了大量的热情和精力。商业领域方面,Bjarne是RollApp科技公司的资深顾问。2014年,Bjame加入摩根士丹利纽约总部,任职技术与数据部门的董事总经理。他是美国国家工程院院士、IEEE会士和ACM会士,研究兴趣包括分布式系统、设计、程序设计技术、软件开发工具和程序设计语言。
目录
第1章  基础知识11.1  引言11.2  程序21.3  函数41.4  类型、变量和算术运算51.5  作用域和生命周期91.6  常量91.7  指针、数组和引用111.8  测试141.9  映射到硬件161.10  建议18第2章  用户自定义类型212.1  引言212.2  结构222.3  类232.4  联合252.5  枚举262.6  建议27第3章   模块化293.1  引言293.2  分别编译303.3  模块(C++20)323.4  名字空间343.5  错误处理353.6  函数参数和返回值363.7  建议46第4章  类474.1  引言474.2  具体类型484.3  抽象类型544.4  虚函数…564.5  类层次…574.6  建议63第5章  基本操作655.1  引言655.2  拷贝和移动685.3  资源管理725.4  常规操作745.5  建议77第6章  模板796.1  引言796.2  参数化类型796.3  参数化操作846.4 模板机制896.5 建议92第7章  概念与泛型编程937.1  引言937.2  概念947.3  泛型编程987.4  可变参数模板1007.5  模板编译模式1047.6  建议104第8章  标准库概览1078.1  介绍1078.2  标准库组件1088.3  标准库头文件和名字空间1098.4  建议110第9章  字符串和正则表达式1119.1  介绍1119.2  字符串1119.3  字符串视图1149.4  正则表达式1169.5 建议122第10章  输入输出12310.1  介绍12310.2  输出12310.3  输入12510.4  I/O状态12710.5  用户自定义类型的I/O12810.6  格式化12910.7  文件流13010.8  字符串流13010.9  C风格I/O13110.10  文件系统13210.11  建议136第11章  容器13711.1  介绍13711.2  vector13811.3  list14211.4  map14411.5  unordered_map14411.6  容器概览14611.7  建议148第12章  算法14912.1  介绍14912.2  使用迭代器15012.3  迭代器类型15312.4  流迭代器15412.5  谓词15512.6  算法概览15612.7  概念(C++20)15712.8  容器算法16012.9  并行算法16112.10  建议161第13章  实用工具16313.1  引言16313.2  资源管理16413.3  范围检查:span16813.4  特殊容器17013.5  替代选择17413.6  分配器17813.7  时间17913.8  函数适配18013.9  类型函数18113.10  建议185第14章  数值18714.1  引言18714.2  数学函数18814.3  数值算法18914.4  复数19014.5  随机数19114.6  向量算术19214.7  数值限制19314.8  建议193第15章  并发19515.1  引言19515.2  任务和thread19615.3  传递参数19715.4  返回结果19815.5  共享数据19915.6  等待事件20015.7  任务通信20215.8  建议205第16章  历史和兼容性20716.1  历史20716.2  C++特性演化21416.3  C/C++兼容性21816.4  参考文献22216.5  建议225ContentsContentsPreface1The Basics11.1 Introduction........................................................... 11.2 Programs............................................................... 21.3 Functions............................................................... 41.4 Types, Variables, and Arithmetic.......................... 51.5 Scopeand Lifetime............................................... 91.6 Constants......................................... 91.7 Pointers,Arrays, and References.......................... 111.8 Tests ................................................141.9 Mappingto Hardware ...........................................161.10 Advice............................................. 182User-Defined ypes 212.1 Introduction..................................... 212.2 Structures........................................ 222.3 Classes............................................ 232.4 Unions................................................................... 252.5 Enumerations........................................................ 262.6 Advice................................................................... 273Modularity 293.1 Introduction........................................................... 293.2 SeparateCompilation ............................................303.3 Modules(C++20) ..................................................323.4 Namespaces........................................................... 343.5 ErrorHandling ......................................................353.6 FunctionArguments and Return Values .....................................363.7 Advice................................................................... 464Classes 474.1 Introduction....................................................
摘要
教而至简,不亦乐乎。—西塞罗现在的C++感觉就像是一种新的语言。与C++98相比,现在的C++令我能更清晰、更简单、更直接地表达思想。而且,编译器可以更好地检查程序中的错误,程序的运行速度也提高了。本书给出C++语言的一个概述,这里所说的C++是由当前的ISO C++标准C++17所定义的,由主要的C++提供商实现。此外,本书还会介绍概念和模块,它们是由ISO技术规范定义的,目前已在使用,但在C++20之前尚无计划包含进标准中。就像其他任何一种现代编程语言一样,C++规模庞大且提供非常丰富的库,这是高效编程所需的。这本薄书的目的是让一个有经验的程序员快速了解现代C++语言,因此它覆盖了大多数主要的语言特性和主要的标准库组件。读者花费几个小时就能读完这本书,但显然要想写出漂亮的C++程序绝非一日之功。好在本书的目的并非让读者熟练掌握一切,而只是给出一个概览,给出一些关键的例子,帮助读者开始自己的C++之旅。假设读者已经拥有了一些编程经验。如果没有,建议你先找一本入门教材学习,比如《Programming: Principles and Practice Using C++》(Second Edition)[Stroustrup,2009],然后再来学习本书。即便你曾经编写过程序,你使用的语言或者编写的应用也可能在风格或形式上与本书所介绍的C++相距甚远。我们用城市观光的例子来说明本书的作用,比方说游览哥本哈根或者纽约。在短短几个小时之内,你可能会匆匆游览几个主要的景点,听一些有趣的传说或故事,然后收到接下来做什么的建议。仅靠这样一段旅程,你无法真正了解这座城市,也无法完全理解听到和看到的东西,更无法熟悉这座城市正式的非正式的生存法则。毕竟想要真正了解一座城市,你必须生活在其中,而且往往需要多年。不过如果幸运的话,此时你已经对城市的概貌有了一些了解,知道了它的某些特殊之处,并且对有些方面产生了兴趣。在这段旅程之后,你就可以开始真正的探索了。这段旅程会为你介绍C++语言的主要特性,它是按其所支持的程序设计风格来呈现的,例如面向对象编程和泛型编程。本书不准备提供一个详细的、手册式的、逐条特性介绍的C++语言呈现。遵循优秀教科书的传统,我努力在使用每个语言特性之前对其进行解释,但实际情况并不总是允许这样,而且并不是每个人都会严格按顺序阅读本书。因此,我鼓励读者使用交叉引用和索引。类似地,这段旅程是以示例的方式介绍标准库,而非逐一列举标准库特性。本书没有介绍ISO标准之外的库,需要的话,读者可以查阅相关资料,例如文献[Stroustrup, 2013]和[Stroustrup, 2014],但网络上还有大量的(质量也参差不齐的)其他资料,如文献[Cppreference]。例如,当我提到一个标准库函数或类时,很容易就能找到它的定义,并且通过查找其文档,找到很多相关的资料。本书力求把C++作为一个整体呈现在读者面前,而非像千层糕一样逐层地介绍。因此,本书不细分某个语言特性是属于C、C++98的一部分还是新的C++11、C++14或C++17。这种介绍可在第16章中找到。我聚焦基础并力求简洁,但我也未能完全抵抗过度阐述新特性的诱惑。这看起来也满足了很多已经了解旧版本C++的读者的好奇心。一本程序设计语言参考手册或标准会简单陈述可以做什么,但程序员通常对学习如何用好语言更感兴趣。要达到这个目的,一方面要靠主题的选择,另一方面要靠文字的组织,特别是建议部分。关于优秀的现代C++语言是怎样构成的更多建议可在《C++ Core Guidelines》[Stroustrup, 2015]一书中找到,对于希望继续深入探索本书介绍的思想的读者,它是一本很好的书。你可能注意到了,《C++ Core Guidelines》和本书在建议的呈现上甚至建议的编号方式上都惊人相似。其中一个原因是本书第一版是最初的《C++ Core Guidelines》的主要内容资源。致谢本书的一些内容源自TC++PL4 [Stroustrup, 2013],因此要感谢帮助我完成TC++PL4的所有同仁。感谢帮助我完成并校对本书第一版的所有同仁。感谢摩根·斯坦利给予我时间进行本书的写作。感谢哥伦比亚大学2018春季课程“使用C++设计程序”的所有学生找出了本书最初草稿中的很多拼写问题和错误并给出了很多建设性的意见。感谢保罗·安德森、查克·埃利森、彼得·哥特史林、威廉·蒙斯、查理·威尔逊和谢尔盖·祖布科夫审阅了本书并给出了很多改进建议。Bjarne Stroustrup曼哈顿,纽约

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网