C++程序设计:原理与实践(进阶篇)

C++程序设计:原理与实践(进阶篇) PDF 扫描第2版

  • 大小:32.4 MB
  • 类型:C++
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:本贾尼·斯特劳斯特鲁普
  • 更新:2020-05-15 13:23:25
vip 立即下载( 32.4 MB )
关注公众号免费下载
版权投诉 / 资源反馈(本资源由用户 双新儿 投稿)

给大家整理了C++相关的资料,由机械工业出版社出版,作者是本贾尼·斯特劳斯特鲁普,介绍了关于C++、程序设计方面,格式为PDF,资源大小32.4 MB,目前在C++类资源综合评分为:9.8分。

书籍介绍

C++之父BjarneStroustrup经典书籍《C++程序设计:原理与实践(原书第2版)》根据新的C++11和C++14,普遍地详细介绍了程序设计的基本要素和技术性,包括种类系统软件、算术运算、控制结构、错误处理等;详细介绍了从电脑键盘和文档获得标值和文字数据信息的方式 及其以图形界面方法表达数值数据、文字和图形;详细介绍了C++标准库中的器皿(如向量、目录、投射)和优化算法(如排列、搜索和里面积有)的设计方案和应用。另外还对C观念和历史时间开展了详尽的探讨,非常好地扩宽了阅读者的视线。

为便捷阅读者由浅入深学习培训,再加篇数限制,《C++程序设计:原理与实践(原书第2版)》分成基本篇和进阶篇两册出版发行,基本篇包括第0~11章、第17~19章和附录A、C,进阶篇包括第12~16章、第20~27章和附录B、D、E。这书是进阶篇。

这书浅显易懂、案例丰富多彩,可做为大学计算机、电子技术、电子信息科学等有关技术专业的教材内容,也能够有关技术专业工作人员参照。

目录

  • Programming: Principles and Practice Using C , Second Edition
  • 出版者的话
  • 译者序
  • 前言
  • 引言
  • 作者简介
  • 第15章 容器和迭代器 1
  • 15.1 存储和处理数据 1
  • 15.1.1 处理数据 1
  • 15.1.2 泛化代码 2
  • 15.2 STL理念 4
  • 15.3 序列和迭代器 7
  • 15.3.1 回到实例 8
  • 15.4 链表 9
  • 15.4.1 链表操作 11
  • 15.4.2 遍历 12
  • 15.5 再次泛化vector 13
  • 15.5.1 遍历容器 15
  • 15.5.2 auto 15
  • 15.6 实例:一个简单的文本编辑器 16
  • 15.6.1 处理行 18
  • 15.6.2 遍历 18
  • 15.7 vector、list和string 21
  • 15.7.1 insert和erase 22
  • 15.8 调整vector类达到STL版本的功能 24
  • 15.9 调整内置数组达到STL版本的功能 26
  • 15.10 容器概览 27
  • 15.10.1 迭代器类别 28
  • 简单练习 29
  • 思考题 30
  • 术语 30
  • 习题 31
  • 附言 32
  • 第16章 算法和映射 33
  • 16.1 标准库算法 33
  • 16.2 最简单的算法f?ind() 34
  • 16.2.1 一些一般的应用 35
  • 16.3 通用搜索算法f?ind_if() 36
  • 16.4 函数对象 38
  • 16.4.1 函数对象的抽象视图 39
  • 16.4.2 类成员上的断言 39
  • 16.4.3 lambda表达式 40
  • 16.5 数值算法 41
  • 16.5.1 累积 42
  • 16.5.2 泛化accumulate() 43
  • 16.5.3 内积 44
  • 16.5.4 泛化inner_product() 45
  • 16.6 关联容器 45
  • 16.6.1 map 46
  • 16.6.2 map概览 47
  • 16.6.3 另一个map实例 50
  • 16.6.4 unordered_map 51
  • 16.6.5 set 53
  • 16.7 拷贝 54
  • 16.7.1 基本拷贝算法 55
  • 16.7.2 流迭代器 55
  • 16.7.3 使用set保持顺序 57
  • 16.7.4 copy_if 57
  • 16.8 排序和搜索 58
  • 16.9 容器算法 60
  • 简单练习 60
  • 思考题 61
  • 术语 62
  • 习题 62
  • 附言 63
  • 第17章 一个显示模型 64
  • 17.1 为什么要使用图形 64
  • 17.2 一个基本显示模型 65
  • 17.3 第一个例子 66
  • 17.4 使用GUI库 68
  • 17.5 坐标系 69
  • 17.6 Shape 70
  • 17.7 使用Shape类 70
  • 17.7.1 图形头文件和主函数 70
  • 17.7.2 一个几乎空白的窗口 71
  • 17.7.3 坐标轴 73
  • 17.7.4 绘制函数图 74
  • 17.7.5 Polygon 75
  • 17.7.6 Rectangle 76
  • 17.7.7 填充 78
  • 17.7.8 Text 78
  • 17.7.9 Image 80
  • 17.7.10 更多未讨论的内容 81
  • 17.8 让图形程序运行起来 81
  • 17.8.1 源文件 82
  • 简单练习 83
  • 思考题 83
  • 术语 83
  • 习题 84
  • 附言 84
  • 第18章 图形类 85
  • 18.1 图形类概览 85
  • 18.2 Point和Line 87
  • 18.3 Lines 88
  • 18.4 Color 91
  • 18.5 Line_style 93
  • 18.6 Open_polyline 95
  • 18.7 Closed_polyline 96
  • 18.8 Polygon 97
  • 18.9 Rectangle 99
  • 18.10 管理未命名对象 102
  • 18.11 Text 104
  • 18.12 Circle 105
  • 18.13 Ellipse 107
  • 18.14 Marked_polyline 108
  • 18.15 Marks 110
  • 18.16 Mark 111
  • 18.17 Image 112
  • 简单练习 114
  • 思考题 115
  • 术语 115
  • 习题 116
  • 附言 116
  • 第19章 设计图形类 117
  • 19.1 设计原则 117
  • 19.1.1 类型 117
  • 19.1.2 操作 118
  • 19.1.3 命名 119
  • 19.1.4 可变性 120
  • 19.2 Shape 121
  • 19.2.1 一个抽象类 122
  • 19.2.2 访问控制 123
  • 19.2.3 绘制形状 125
  • 19.2.4 拷贝和可变性 127
  • 19.3 基类和派生类 128
  • 19.3.1 对象布局 130
  • 19.3.2 类的派生和虚函数的定义 131
  • 19.3.3 覆盖 131
  • 19.3.4 访问 133
  • 19.3.5 纯虚函数 134
  • 19.4 面向对象程序设计的好处 135
  • 简单练习 136
  • 思考题 136
  • 术语 137
  • 习题 137
  • 附言 138
  • 第20章 绘制函数图和数据图 139
  • 20.1 简介 139
  • 20.2 绘制简单函数图 139
  • 20.3 Function 143
  • 20.3.1 默认参数 143
  • 20.3.2 更多例子 144
  • 20.3.3 lambda表达式 146
  • 20.4 Axis 146
  • 20.5 近似 148
  • 20.6 绘制数据图 152
  • 20.6.1 读取文件 153
  • 20.6.2 一般布局 154
  • 20.6.3 数据比例 155
  • 20.6.4 构造数据图 156
  • 简单练习 158
  • 思考题 159
  • 术语 159
  • 习题 159
  • 附言 160
  • 第21章 图形用户界面 161
  • 21.1 用户界面的选择 161
  • 21.2 “Next”按钮 162
  • 21.3 一个简单的窗口 163
  • 21.3.1 回调函数 164
  • 21.3.2 等待循环 166
  • 21.3.3 lambda表达式作为回调函数 166
  • 21.4 Button和其他Widget 167
  • 21.4.1 Widget 167
  • 21.4.2 Button 168
  • 21.4.3 In_box和Out_box 169
  • 21.4.4 Menu 170
  • 21.5 一个实例 170
  • 21.6 控制流反转 173
  • 21.7 添加菜单 174
  • 21.8 调试GUI代码 178
  • 简单练习 179
  • 思考题 179
  • 术语 180
  • 习题 180
  • 附言 181
  • 第22章 理念和历史 182
  • 22.1 历史、理念和专业水平 182
  • 22.1.1 程序设计语言的目标和哲学 182
  • 22.1.2 编程理念 183
  • 22.1.3 风格/范型 188
  • 22.2 程序设计语言历史概览 190
  • 22.2.1 最早的程序设计语言 191
  • 22.2.2 现代程序设计语言的起源 193
  • 22.2.3 Algol家族 197
  • 22.2.4 Simula 203
  • 22.2.5 C 204
  • 22.2.6 C 207
  • 22.2.7 今天 209
  • 22.2.8 参考资料 210
  • 思考题 211

以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

C++相关资源

  • 数字图像处理与机器视觉:Visual C++与Matlab实现(第2版)

    数字图像处理与机器视觉:Visual C++与Matlab实现(第2版)

    本书将理论知识、科学研究和工程实践有机结合起来,内容涉及数字图像处理和识别技术的方方面面,结构紧凑,内容深入浅出,讲解图文并茂,感兴趣的可以下载学习

    大小:232 MB数字图像电子书

  • 小学生C++趣味编程

    小学生C++趣味编程

    《 小学生C++趣味编程 》难度系数适度、易懂易教的教材内容是进行中小学信息学课堂教学的重要一环。 选择80好几个接近中学生学习衣食住行的事例,融合小学生的认知能力规律性,激起小孩

    大小:57 MB儿童编程电子书

  • C++ 17 标准手册

    C++ 17 标准手册

    这里提供 C++ 17 标准手册 :Working Draft, Standard for Programming Language C++ 和 C ++17 STL Cookbook 下载,包含 C++17 标准 ISOIEC 14882 2017 官方pdf文档 ,需要的朋友可下载试试! C++17 是继 C++14 之后,C++ 编程语言 ISO/IEC 标准的下一次修订的非正式名称。ISO C++ 委员会正式发布了 C++ 17 标准,官方名称为 ISO/IEC 14882:2017 基于 C++

    大小:30.3 MBC++

  • Visual C++编程实战宝典

    Visual C++编程实战宝典

    开发宝典丛书是由清华大学出版社为软件开发爱好者精心打造的一套软件开发百科全书。丛书强调全面、新颖、详细、实用、深入、高效等特色,涵盖常见的编程语言和技术。丛书中的每本书

    大小:186.9 MBVC++电子书

  • OpenCV算法精解:基于Python与C++

    OpenCV算法精解:基于Python与C++

    这是一本以OpenCV 为工具学习数字图像处理的入门书,由浅入深的讲解阐述基本概念、数学原理、C++ 实现、Python 实现相结合的方法,适合入门图像处理和计算机视觉领域的初学者阅读

    大小:84 MBOpenCV算法电子书

  • 趣题学算法(C++)

    趣题学算法(C++)

    大小:17.4 MB算法电子书

  • C++数据结构与算法(第4版)

    C++数据结构与算法(第4版)

    这本《C++数据结构与算法(第4版)》全面系统地介绍了数据结构,并以C++语言实现相关的算法。 主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复

    大小:192.9 MBc++电子书

  • C++20标准手册

    C++20标准手册

    C++20(C++ 编程语言标准2020版) 将是C++ 语言一次非常重大的更新,将为这门语言引入大量新特性。 c++20标准文档是官方目前最新文件 ,更新2020年。需要的朋友可下载试试! 此次更新看 C++20 的 Big Four(四大新特性:概念、范围、协程和模块)以及核心语言(包括一些新的运算符和指示符)。 全新的 GCC、Clang 和 EDG 编译器能提供对核心语言的最佳支持。此外,MSVC 和 Apple Clang 编译器也支持许多 C++20 特性。 C++20 核心语言特征。 库方面

    大小:6.39 MBC++

  • C++性能优化指南

    C++性能优化指南

    本书是一本C++代码优化指南。作者精选了他在近30年编程生涯中最频繁使用的技术和能够带来最大性能提升效果的技术,旨在让读者在提升C++程序的同时,思考软件优化之美

    大小:25.9 MBC代码电子书

  • 21天学通C++(第8版)

    21天学通C++(第8版)

    大小:6.1 MBC++电子书

  • 集散控制系统及现场总线(第2版)

    集散控制系统及现场总线(第2版) 课后答案

    《集散控制系统及现场总线(第2版)》是2020年1月机械工业出版社出版的图书,作者是张岳。 本书是作者根据多年的教学经验和对集散型控制系统及现场总线的研究编写而成的。通过对本书的学习,可以帮助和满足初学者、工程技术人员系统了解集散型计算机控制系统及现场总线等有关理论。本书主要内容包括:1.集散型控制系统基础知识,涉及集散型控制系统结构组成、通讯技术、组态技术及可靠性、控制技术等共性问题;2.重点介绍集散型控制系统

    大小:506 KB控制系统课后答案

  • Istio实战指南

    Istio实战指南

    大小:30.37 MBIstio

  • 《Spring Boot从入门到实战》源代码

    《Spring Boot从入门到实战》源代码

    《 Spring Boot从入门到实战 》从Spring Boot的特性与基本原理讲起,逐步深入到Spring Boot与其他微服务开发组件的集成使用,并在后面配合实际项目案例,重点讲解Spring Boot的微服务开发,能够让读者全面、系统地学习Spring Boot开发的相关知识,并且对微服务应用开发有更深入的理解。 本书共12章,涵盖的主要内容有:Spring Boot框架基础,以及IoC与AOP原理;Spring MVC知识;Spring Boot搭建与配置;Spring Boot数据访问,包括M

    大小:4.2 MBSpring Boot配套资源

  • 《SQL Server On Linux运维实战》配套资源

    《SQL Server On Linux运维实战》配套资源

    编辑推荐 微软MVP携手Linux运维专家倾力奉献 手把手讲解知名数据库产品SQL Server 突出运维监控,提供实际优化案例和脚本文件,方便读者动手实践 内容简介 随着微软公司的开源策略逐步深化,其数据库拳头产品SQL Server不仅能运行在Windows平台上,经过一系列产品迭代,还能稳定地运行在主流的Linux平台中,并且越来越受到企业的认同。为了跟上时代的步伐,从业者有必要尽快掌握Linux上的SQL Server的使用方法。 本书属于入门级别的技术图书,主要面向对微

    大小:55.02 KBSQL运维配套资源

  • 《计算机网络实用技术》教案

    《计算机网络实用技术》教案

    内容介绍 本书是为了适应计算机网络技术的发展和高职高专院校教学的需要,本着理论知识以够用为度,重在实践应用原则编写。全书共分11章,内容包括计算机网络基础知识;局域网的基础知识、小型局域网的组建和使用;园区网的主要设备、园区网的管理、综合布线;无线局域网的标准、原理以及组建和管理;Internet的使用、常用Internet服务、接入Internet的方法;Windows Server 2003的安装、用户管理、磁盘管理、活动目录;使用Windows Server 2003建立Interne

    大小:17.77 MB计算机网络配套资源

资源下载

相关声明:

C++学习笔记

14小时10分钟前回答

python或C++读取指定文件夹下的所有图片

本文实例为大家分享了python或C++读取指定文件夹下的所有图片,供大家参考,具体内容如下 1.python读取指定文件夹下的所有图片路径和图片文件名 import cv2from os import walk,pathdef get_fileNames(rootdir): data=[] prefix = [] for root, dirs, files in walk(rootdir, topdown=True): for name in files: pre, ending = path.splitext(name) if ending != ".jpg" and ending != ".jepg" and ending != ".png": continue else: data.append(path.join(root, name)) pref……

13小时31分钟前回答

用C/C++来实现 Node.js 的模块(一)

N久之前的一个坑——用 Node.js 来重构 NBUT 的 Online Judge,包括评测端也得重构一遍。(至于什么时候完成大家就不要关心了,(/‵Д′)/~ ╧╧ 总之我们现在要做的其实简而言之就是——用C/C++来实现 Node.js 的模块。 准备工作 工欲善其事,必先~~耍流氓~~利其器。 node-gyp 首先你需要一个 node-gyp 模块。 在任意角落,执行: 复制代码 代码如下: $ npm install node-gyp -g 在进行一系列的……

15小时20分钟前回答

用C/C++来实现 Node.js 的模块(二)

温故而知新,可以为湿矣 首先请大家记住这个 V8 的在线手册http://izs.me/v8-docs/main.html。 还记得上次的 building.gyp 文件吗? 复制代码 代码如下: { targets: [ { target_name: addon, sources: [ addon.cc ] } ] } 就像这样,举一反三,如果多几个 *.cc 文件的话就是这样的: sources: [ addon.cc, myexample.cc ] 上次我们把俩步骤分开了,实际上配置和编译可以放在一起的: $ node-gyp configure build 复习完了吗?没?……

4小时46分钟前回答

介绍一个针对C++程序的MySQL访问库soci

一直以来,笔者都在不停寻找一种更人性化的数据库访问方式(并不是说默认的方式不好,而是有时候的确在模块化设计中不太方便)。 后来有幸在php中找到codeigniter的ActiveReord,详细参考这篇文章: 抽离CodeIgniter的数据库访问类! 然而c++却始终用着最原始的方式,昨天趁着项目要用的机会,在网上搜索了好久,总算让我找到两套c++的数据库访问框架: soci litesql 两套代码我都拿下……

6小时20分钟前回答

c++和python的区别有哪些

程序有两种执行方式,解释执行和编译执行。 PYTHON是一种脚本语言,是解释执行的,不需要经过编译,所以很方便快捷,且能够很好地跨平台,写一些小工具小程序特别合适。 而C++则是一种需要编译后运行语言,在特定的机器上编译后在特定的机上运行,运行效率高,安全稳定。但编译后的程序一般是不跨平台的。 学习一种编程语言不能看它热不热。而是要看它在某个领域的作……