登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』C++语言导学(原书第2版)

書城自編碼: 3409273
分類: 簡體書→大陸圖書→教材研究生/本科/专科教材
作者: [美]本贾尼·斯特劳斯特鲁普[Bjarne,Stroustr
國際書號(ISBN): 9787111633280
出版社: 机械工业出版社
出版日期: 2019-09-01

頁數/字數: /
書度/開本: 16开

售價:NT$ 498

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
Procreate插画手绘从新手到高手
《 Procreate插画手绘从新手到高手 》

售價:NT$ 493.0
山河不足重,重在遇知己
《 山河不足重,重在遇知己 》

售價:NT$ 252.0
独自走过悲喜
《 独自走过悲喜 》

售價:NT$ 381.0
永不停步:玛格丽特·阿特伍德传
《 永不停步:玛格丽特·阿特伍德传 》

售價:NT$ 442.0
假努力:方向不对,一切白费
《 假努力:方向不对,一切白费 》

售價:NT$ 335.0
北京三万里
《 北京三万里 》

售價:NT$ 437.0
争吵的恋人:我们为什么相爱,又为什么争吵
《 争吵的恋人:我们为什么相爱,又为什么争吵 》

售價:NT$ 330.0
秘史:英国情报机构的崛起
《 秘史:英国情报机构的崛起 》

售價:NT$ 381.0

內容簡介:
在《C++导学(第二版)》中,C++的创造者本贾尼?斯特劳斯特鲁普描述了现代C++语言的构成。这本简洁、自成体系的导引书籍包含了大多数主要C++语言特性和主要标准库组件——当然,并未深入介绍,而是给予程序员一个有意义的语言概述、一些关键的例子以及起步阶段的实用帮助。
目錄
出版者的话
译者序
前言
第1章 基础知识1
1.1 引言1
1.2 程序1
1.3 函数3
1.4 类型、变量和算术运算4
1.4.1 算术运算5
1.4.2 初始化6
1.5 作用域和生命周期7
1.6 常量8
1.7 指针、数组和引用9
1.8 检验12
1.9 映射到硬件14
1.9.1 赋值14
1.9.2 初始化15
1.10 建议16
第2章 用户自定义类型18
2.1 引言18
2.2 结构18
2.3 类20
2.4 联合21
2.5 枚举22
2.6 建议23
第3章 模块化25
3.1 引言25
3.2 分别编译26
3.3 模块(C++20)27
3.4 名字空间29
3.5 错误处理30
3.5.1 异常30
3.5.2 不变式32
3.5.3 错误处理替代33
3.5.4 合约35
3.5.5 静态断言35
3.6 函数参数和返回值36
3.6.1 参数传递36
3.6.2 返回值37
3.6.3 结构化绑定39
3.7 建议40
第4章 类41
4.1 引言41
4.2 具体类型42
4.2.1 一种算术类型42
4.2.2 容器44
4.2.3 初始化容器45
4.3 抽象类型47
4.4 虚函数49
4.5 类层次50
4.5.1 层次结构的益处52
4.5.2 层次漫游53
4.5.3 避免资源泄漏54
4.6 建议55
第5章 基本操作57
5.1 引言57
5.1.1 基本操作57
5.1.2 类型转换59
5.1.3 成员初始值59
5.2 拷贝和移动60
5.2.1 拷贝容器60
5.2.2 移动容器62
5.3 资源管理63
5.4 常规操作65
5.4.1 比较65
5.4.2 容器操作65
5.4.3 输入输出操作66
5.4.4 用户自定义字面值66
5.4.5 swap67
5.4.6 hash67
5.5 建议67
第6章 模板69
6.1 引言69
6.2 参数化类型69
6.2.1 约束模板参数(C++20)71
6.2.2 值模板参数71
6.2.3 模板参数推断72
6.3 参数化操作73
6.3.1 函数模板73
6.3.2 函数对象74
6.3.3 lambda表达式75
6.4 模板机制77
6.4.1 可变参数模板78
6.4.2 别名78
6.4.3 编译时if79
6.5 建议80
第7章 概念和泛型编程81
7.1 引言81
7.2 概念(C++20)81
7.2.1 概念的使用82
7.2.2 基于概念的重载83
7.2.3 合法代码84
7.2.4 概念的定义84
7.3 泛型编程86
7.3.1 概念的使用86
7.3.2 使用模板抽象86
7.4 可变参数模板88
7.4.1 表达式折叠89
7.4.2 参数转发90
7.5 模板编译模型90
7.6 建议91
第8章 标准库概览92
8.1 引言92
8.2 标准库组件92
8.3 标准库头文件和名字空间93
8.4 建议94
第9章 字符串和正则表达式95
9.1 引言95
9.2 字符串95
9.3 字符串视图97
9.4 正则表达式99
9.4.1 搜索99
9.4.2 正则表达式符号表示100
9.4.3 迭代器104
9.5 建议104
第10章 输入输出106
10.1 引言106
10.2 输出107
10.3 输入108
10.4 IO状态109
10.5 用户自定义类型的IO110
10.6 格式化111
10.7 文件流112
10.8 字符串流112
10.9 C风格IO113
10.10 文件系统114
10.11 建议117
第11章 容器119
11.1 引言119
11.2 vector119
11.2.1 元素121
11.2.2 范围检查122
11.3 list123
11.4 map125
11.5 unordered_map125
11.6 容器概述127
11.7 建议128
第12章 算法130
12.1 引言130
12.2 使用迭代器131
12.3 迭代器类型133
12.4 流迭代器134
12.5 谓词136
12.6 算法概述136
12.7 概念(C++20)137
12.8 容器算法140
12.9 并行算法140
12.10 建议141
第13章 实用功能142
13.1 引言142
13.2 资源管理142
13.2.1 unique_ptr和shared_ptr143
13.2.2 move和forward145
13.3 范围检查:span147
13.4 特殊容器148
13.4.1 array149
13.4.2 bitset150
13.4.3 pair和tuple151
13.5 选择152
13.5.1 variant153
13.5.2 optional154
13.5.3 any155
13.6 分配器155
13.7 时间156
13.8 函数适配器157
13.8.1 lambda作为适配器157
13.8.2 mem_fn157
13.8.3 function158
13.9 类型函数158
13.9.1 iterator_traits159
13.9.2 类型谓词161
13.9.3 enable_if161
13.10 建议162
第14章 数值163
14.1 引言163
14.2 数学函数163
14.3 数值算法164
14.4 复数165
14.5 随机数166
14.6 向量算术167
14.7 数值限制168
14.8 建议168
第15章 并发169
15.1 引言169
15.2 任务和thread169
15.3 传递参数170
15.4 返回结果171
15.5 共享数据172
15.6 等待事件173
15.7 任务通信175
15.7.1 future和promise175
15.7.2 packaged_task176
15.7.3 async177
15.8 建议178
第16章 历史和兼容性180
16.1 历史180
16.1.1 大事年表181
16.1.2 早期的C++182
16.1.3 ISO C++标准184
16.
內容試閱
教而至简,不亦乐乎。
——西塞罗
现在的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。这种信息可在第16章(历史和兼容性)中找到。本书聚焦基础并力求简洁,但也未能完全抵抗过度阐述新特性的诱惑。这看起来也满足了很多已经了解旧版本C++的读者的好奇心。
一本程序设计语言参考手册或标准会简单陈述可以做什么,但程序员通常对学习如何用好语言更感兴趣。达到这个目的一方面要靠主题的选择,另一方面要靠文字的组织,特别是建议部分。关于优秀的现代C++语言是怎样构成的更多建议可在《C++ Core Guidelines》(C++核心准则)[Stroustrup, 2015]一书中找到。对于希望继续深入探索本书介绍的思想的读者,这是一本很好的书。你可能注意到了,《C++ Core Guidelines》和本书在建议的呈现上甚至建议的编号方式上都惊人地相似。其中一个原因是本书第1版是最初的《C++ Core Guidelines》的主要参考资源。
致谢
本书的一些内容源自《C++程序设计语言(第4版)》(TC++PL4)[Stroustrup, 2013],因此要感谢帮助我完成TC++PL4的所有同仁。
感谢帮助我完成并校对本书第1版的所有同仁。
感谢Morgan Stanley给予我时间进行本书的写作。感谢哥伦比亚大学2018年春季课程“使用C++设计程序”的所有学生找出了本书最初草稿中的很多拼写问题和错误并给出了很多建设性的意见。
感谢Paul Anderson、Chuck Allison、Peter Gottschling、William Mons、Charles Wilson和Sergey Zubkov审阅了本书并给出了很多改进建议。
本贾尼·斯特劳斯特鲁普
曼哈顿,纽约

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.