登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書

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

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

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

售價:HK$ 106.7

我要買

 

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


新書推薦:
财之道丛书·后资本主义生活:财富的意义、经济的未来与货币的时间理论
《 财之道丛书·后资本主义生活:财富的意义、经济的未来与货币的时间理论 》

售價:HK$ 78.2
人文与社会译丛:自由意志、能动性与生命的意义
《 人文与社会译丛:自由意志、能动性与生命的意义 》

售價:HK$ 79.4
儿童折纸大全(儿童创意美术手工系列)
《 儿童折纸大全(儿童创意美术手工系列) 》

售價:HK$ 34.3
意识形态与现代文化(人文与社会译丛)
《 意识形态与现代文化(人文与社会译丛) 》

售價:HK$ 90.9
最好的教养:别错过孩子的4~7岁成长关键期
《 最好的教养:别错过孩子的4~7岁成长关键期 》

售價:HK$ 57.3
给孩子的语文四书:语文原来可以这样学(全四册)
《 给孩子的语文四书:语文原来可以这样学(全四册) 》

售價:HK$ 170.2
人海之间:海洋亚洲中的中国与世界
《 人海之间:海洋亚洲中的中国与世界 》

售價:HK$ 69.6
这里是中国(3):华夏文明史诗
《 这里是中国(3):华夏文明史诗 》

售價:HK$ 233.6

 

內容簡介:
在《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.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.