热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

C++语言导学(原书第2版)

编号:
wx1201939669
销售价:
¥69.52
(市场价: ¥79.00)
赠送积分:
70
数量:
   
商品介绍

在《C++导学(第二版)》中,C++的创造者本贾尼?斯特劳斯特鲁普描述了现代C++语言的构成。这本简洁、自成体系的导引书籍包含了大多数主要C++语言特性和主要标准库组件——当然,并未深入介绍,而是给予程序员一个有意义的语言概述、一些关键的例子以及起步阶段的实用帮助。

出版者的话译者序前言章  基础知识 11.1  引言 11.2  程序 11.3  函数 31.4  类型、变量和算术运算 41.4.1  算术运算 51.4.2  初始化 61.5  作用域和生命周期 71.6  常量 81.7  指针、数组和引用 91.8  检验 121.9  映射到硬件 141.9.1  赋值 141.9.2  初始化 151.10  建议 16第2章  用户自定义类型 182.1  引言 182.2  结构 182.3  类 202.4  联合 212.5  枚举 222.6  建议 23第3章  模块化 253.1  引言 253.2  分别编译 263.3  模块(C++20) 273.4  名字空间 293.5  错误处理 303.5.1  异常 303.5.2  不变式 323.5.3  错误处理替代 333.5.4  合约 353.5.5  静态断言 353.6  函数参数和返回值 363.6.1  参数传递 363.6.2  返回值 373.6.3  结构化绑定 393.7  建议 40第4章  类 414.1  引言 414.2  具体类型 424.2.1  一种算术类型 424.2.2  容器 444.2.3  初始化容器 454.3  抽象类型 474.4  虚函数 494.5  类层次 504.5.1  层次结构的益处 524.5.2  层次漫游 534.5.3  避免资源泄漏 544.6  建议 55第5章  基本操作 575.1  引言 575.1.1  基本操作 575.1.2  类型转换 595.1.3  成员初始值 595.2  拷贝和移动 605.2.1  拷贝容器 605.2.2  移动容器 625.3  资源管理 635.4  常规操作 655.4.1  比较 655.4.2  容器操作 655.4.3  输入输出操作 665.4.4  用户自定义字面值 665.4.5  swap() 675.4.6  hash<> 675.5  建议 67第6章  模板 696.1  引言 696.2  参数化类型 696.2.1  约束模板参数(C++20) 716.2.2  值模板参数 716.2.3  模板参数推断 726.3  参数化操作 736.3.1  函数模板 736.3.2  函数对象 746.3.3  lambda表达式 756.4  模板机制 776.4.1  可变参数模板 786.4.2  别名 786.4.3  编译时if 796.5  建议 80第7章  概念和泛型编程 817.1  引言 817.2  概念(C++20) 817.2.1  概念的使用 827.2.2  基于概念的重载 837.2.3  合法代码 847.2.4  概念的定义 847.3  泛型编程 867.3.1  概念的使用 867.3.2  使用模板抽象 867.4  可变参数模板 887.4.1  表达式折叠 897.4.2  参数转发 907.5  模板编译模型 907.6  建议 91第8章  标准库概览 928.1  引言 928.2  标准库组件 928.3  标准库头文件和名字空间 938.4  建议 94第9章  字符串和正则表达式 959.1  引言 959.2  字符串 959.3  字符串视图 979.4  正则表达式 999.4.1  搜索 999.4.2  正则表达式符号表示 1009.4.3  迭代器 1049.5  建议 1040章  输入输出 10610.1  引言 10610.2  输出 10710.3  输入 10810.4  I/O状态 10910.5  用户自定义类型的I/O 11010.6  格式化 11110.7  文件流 11210.8  字符串流 11210.9  C风格I/O 11310.10  文件系统 11410.11  建议 1171章  容器 11911.1  引言 11911.2  vector 11911.2.1  元素 12111.2.2  范围检查 12211.3  list 12311.4  map 12511.5  unordered_map 12511.6  容器概述 12711.7  建议 1282章  算法 13012.1  引言 13012.2  使用迭代器 13112.3  迭代器类型 13312.4  流迭代器 13412.5  谓词 13612.6  算法概述 13612.7  概念(C++20) 13712.8  容器算法 14012.9  并行算法 14012.10  建议 1413章  实用功能 14213.1  引言 14213.2  资源管理 14213.2.1  unique_ptr和shared_ptr 14313.2.2  move()和forward() 14513.3  范围检查:span 14713.4  特殊容器 14813.4.1  array 14913.4.2  bitset 15013.4.3  pair和tuple 15113.5  选择 15213.5.1  variant 15313.5.2  optional 15413.5.3  any 15513.6  分配器 15513.7  时间 15613.8  函数适配器 15713.8.1  lambda作为适配器 15713.8.2  mem_fn() 15713.8.3  function 15813.9  类型函数 15813.9.1  iterator_traits 15913.9.2  类型谓词 16113.9.3  enable_if 16113.10  建议 1624章  数值 16314.1  引言 16314.2  数学函数 16314.3  数值算法 16414.4  复数 16514.5  随机数 16614.6  向量算术 16714.7  数值限制 16814.8  建议 1685章  并发 16915.1  引言 16915.2  任务和thread 16915.3  传递参数 17015.4  返回结果 17115.5  共享数据 17215.6  等待事件 17315.7  任务通信 17515.7.1  future和promise 17515.7.2  packaged_task 17615.7.3  async() 17715.8  建议 1786章  历史和兼容性 18016.1  历史 18016.1.1  大事年表 18116.1.2  早期的C++ 18216.1.3  ISO C++标准 18416.

教而至简,不亦乐乎。——西塞罗现在的C++感觉就像是一种新的语言。与C++98相比,使用现在的C++我能更清晰、更简单、更直接地表达思想。而且,编译器可以更好地检查程序中的错误,程序的运行速度也提高了。本书给出C++语言的一个概述,这里所说的C++是由当前的ISO C++标准C++17定义的,由主要的C++提供商实现。此外,本书还会介绍一些目前在使用的ISO技术规范定义的概念和模块,但它们在C++20尚无计划包含进标准中。就像其他任何一种现代编程语言一样,C++规模庞大且提供了非常丰富的库,这是高效编程所需的。这本小册子的目的是让一个有经验的程序员快速了解现代C++语言,因此它覆盖了C++大多数主要的语言特性和标准库组件。读者花费几个小时就能读完这本书,但显然要想写出漂亮的C++程序绝非一日之功。好在本书的目的并非让读者熟练掌握一切,而只是给出一个概览,给出一些关键的例子,帮助读者开始自己的C++之旅。假设读者已经拥有了一些编程经验。如果没有,建议你先找一本入门教材学习,比如《Programming: Principles and Practice Using C++,Second Edition》(C++程序设计原理与实践(第2版))[Stroustrup, 2014],然后再来学习本书。即便你曾经编写过程序,你使用的语言或者编写的应用也可能在风格或形式上与本书所介绍的C++相距甚远。我们用城市观光的例子来说明本书的作用,比如游览哥本哈根或者纽约。在短短几个小时之内,你可能会匆匆游览几个主要的景点,听一些有趣的传说或故事,然后听取建议接下来做什么。仅靠这样一段旅程,你无法真正了解这座城市,也无法完全理解听到和看到的东西,更无法熟悉这座城市正式的和非正式的生存法则。毕竟想要真正了解一座城市,你必须生活在其中,而且往往需要多年。不过如果幸运的话,此时你已经对城市的概貌有了一些了解,知道了它的某些特殊之处,并且对某些方面产生了兴趣。在这段旅程之后,你就可以开始真正的探索了。本书的风格就像这段旅程,它会为你介绍C++语言的主要特性,这是按其所支持的程序设计风格来呈现的,例如面向对象编程和泛型编程。本书不准备提供一个详细的、手册式的、逐条特性的C++语言描述。遵循优秀教科书的传统,我努力在使用每个语言特性之前对其进行解释,但实际情况并不总能允许我这样做,而且并不是每个人都会严格按顺序阅读本书。因此,我鼓励读者使用交叉引用和索引。类似地,本书以示例的方式介绍标准库,而非逐一列举标准库特性。本书没有介绍ISO标准之外的库,读者需要的话可以查阅相关资料,例如[Stroustrup, 2013]和[Stroustrup, 2014],网络上也有大量(质量参差不齐)的其他资料,如[Cppreference]。例如,当我提到一个标准库函数或类时,很容易就能找到它的定义,并且通过查找其文档,能找到很多相关的资料。本书力求把C++作为一个整体呈现在读者面前,而非像千层糕一样逐层地介绍。因此,本书不细分某个语言特性是属于C、C++98的一部分还是新的C++11、C++14或C++17。这种信息可在6章(历史和兼容性)中找到。本书聚焦基础并力求简洁,但也未能完全抵抗过度阐述新特性的诱惑。这看起来也满足了很多已经了解旧版本C++的读者的好奇心。一本程序设计语言参考手册或标准会简单陈述可以做什么,但程序员通常对学习如何用好语言更感兴趣。达到这个目的一方面要靠主题的选择,另一方面要靠文字的组织,特别是建议部分。关于优秀的现代C++语言是怎样构成的更多建议可在《C++ Core Guidelines》(C++核心准则)[Stroustrup, 2015]一书中找到。对于希望继续深入探索本书介绍的思想的读者,这是一本很好的书。你可能注意到了,《C++ Core Guidelines》和本书在建议的呈现上甚至建议的编号方式上都惊人地相似。其中一个原因是本书版是最初的《C++ Core Guidelines》的主要参考资源。致谢本书的一些内容源自《C++程序设计语言(第4版)》(TC++PL4)[Stroustrup, 2013],因此要感谢帮助我完成TC++PL4的所有同仁。感谢帮助我完成并校对本书版的所有同仁。感谢Morgan Stanley给予我时间进行本书的写作。感谢哥伦比亚大学2018年春季课程“使用C++设计程序”的所有学生找出了本书最初草稿中的很多拼写问题和错误并给出了很多建设性的意见。感谢Paul Anderson、Chuck Allison、Peter Gottschling、William Mons、Charles Wilson和Sergey Zubkov审阅了本书并给出了很多改进建议。本贾尼·斯特劳斯特鲁普曼哈顿,纽约

商品参数
基本信息
出版社 机械工业出版社
ISBN 9787111633280
条码 9787111633280
编者 [美]本贾尼·斯特劳斯特鲁普Bjarne Stroustrup
译者 王刚
出版年月 2019-09-01 00:00:00.0
开本 16开
装帧 平装
页数 216
字数 210
版次 1
印次 1
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]