由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高99元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
醉染图书C++语言导学(原书第2版)9787111633280
¥ ×1
出版者的话译者序前言章 基础知识 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 结构 18. 类 202.4 联合 212.5 枚举 222.6 建议 第章 模块化 253.1 引言 253.2 分别编译 263.3 模块(C++20) 273.4 名字空间 293.5 错误处理 303.5.1 异常 303.5.2 不变式 3.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.. 初始化容器 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.. 模板参数推断 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.. 合法代码 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 111.4 map 12511.5 unordered_map 12511.6 容器概述 12711.7 建议 1282章 算法 13012.1 引言 13012.2 使用迭代器 1311. 迭代器类型 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.
本贾尼?斯特劳斯鲁(Bjarne Stroustrup),C++语言的设计者和很初实现者,C++语言ISO标准化工作的积极参与者,同时也是《C++程序设计语言》和《C++程序设计原理与实践》的作者。他是英国剑桥大学计算机科学专业博士,1979年加入美国新泽西贝尔实验室,从成立到2002年一直担任贝尔实验室大规模程序设计研究部门的负责人。2002年至2014年,Bjarne被评为德州农工大学工程学院计算机科学首席教授,哥伦比亚大学计算机科学系客座教授,德州农工大学计算机科学系杰出研究教授。多年来,他为剑桥大学、哥伦比亚大学和普林斯顿大学等知名学府的计算机科学教学事业倾注了大量的热情和精力。商业领域方面,Bjarne是RollApp科技公司的资深顾问。2014年,Bjame加入摩根士丹利纽约总部,任职技术与数据部门的董事总经理。他是美国工程院院士、IEEE会士和ACM会士,研究兴趣包括分布式系统、设计、程序设计技术、软件开发工具和程序设计语言。
教而至简,不亦乐乎。——西塞罗现在的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审阅了本书并给出了很多改进建议。本贾尼·斯特劳斯鲁曼哈顿,纽约
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格
