• C++语言导学(原书第2版)
21年品牌 40万+商家 超1.5亿件商品

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

全新正版 极速发货

43.51 5.5折 79 全新

库存10件

广东广州
认证卖家担保交易快速发货售后保障

作者[美]本贾尼·斯特劳斯特鲁普Bjarne Stroustrup

出版社机械工业出版社

ISBN9787111633280

出版时间2019-09

装帧平装

开本16开

定价79元

货号1201939669

上书时间2024-09-04

大智慧小美丽

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
本贾尼?斯特劳斯特鲁普(Bjarne Stroustrup),C++语言的设计者和很初实现者,C++语言ISO标准化工作的积极参与者,同时也是《C++程序设计语言》和《C++程序设计原理与实践》的作者。他是英国剑桥大学计算机科学专业博士,1979年加入美国新泽西贝尔实验室,从成立到2002年一直担任贝尔实验室大规模程序设计研究部门的负责人。2002年至2014年,Bjarne被评为德州农工大学工程学院计算机科学首席教授,哥伦比亚大学计算机科学系客座教授,德州农工大学计算机科学系杰出研究教授。多年来,他为剑桥大学、哥伦比亚大学和普林斯顿大学等知名学府的计算机科学教学事业倾注了大量的热情和精力。商业领域方面,Bjarne是RollApp科技公司的资深顾问。2014年,Bjame加入摩根士丹利纽约总部,任职技术与数据部门的董事总经理。他是美国国家工程院院士、IEEE会士和ACM会士,研究兴趣包括分布式系统、设计、程序设计技术、软件开发工具和程序设计语言。

目录
出版者的话译者序前言章  基础知识  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++的创造者本贾尼?斯特劳斯特鲁普描述了现代C++语言的构成。这本简洁、自成体系的导引书籍包含了大多数主要C++语言特性和主要标准库组件——当然,并未深入介绍,而是给予程序员一个有意义的语言概述、一些关键的例子以及起步阶段的实用帮助。

精彩内容
教而至简,不亦乐乎。——西塞罗现在的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审阅了本书并给出了很多改进建议。本贾尼·斯特劳斯特鲁普曼哈顿,纽约

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP