C++程序设计(原理与实践进阶篇原书第2版)/计算机科学丛书

C++程序设计(原理与实践进阶篇原书第2版)/计算机科学丛书 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:[美] 本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup)
出品人:
页数:424
译者:刘晓光
出版时间:2017-4-1
价格:99.00元
装帧:
isbn号码:9787111562528
丛书系列:计算机科学丛书
图书标签:
  • C++
  • 计算机
  • 计算机科学
  • 编程
  • 程序设计
  • 进阶
  • -美国
  • *C++
  • C++
  • 程序设计
  • 计算机科学
  • 编程
  • 算法
  • 数据结构
  • 面向对象
  • 软件工程
  • 第二版
  • 进阶
  • 教材
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

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。本书是进阶篇。本书通俗易懂、实例丰富,可作为大学计算机、电子工程、信息科学等相关专业的教材,也可供相关专业人员参考。

作者简介

作者:(美田)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 译者:刘晓光 李忠伟 王刚

本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup),英国剑桥大学计算机科学博士,C++的设计者和最初的实现者。他现在是德州农工大学计算机科学首席教授。1993年,由于在C++领域的重大贡献,他获得了ACM的Grace Murray Hopper大奖并成为ACM院士。在进入学术界之前,他在AT&T贝尔实验室工作,是ISO C++标准委员会的创始人之一。

目录信息

出版者的话
译者序
前言
引言
作者简介
第15章容器和迭代器
15.1存储和处理数据
15.1.1处理数据
15.1.2泛化代码
15.2STL理念
15.3序列和迭代器
15.3.1回到实例
15.4链表
15.4.1链袁操作
15.4.2遍历
15.5再次泛化vector
15.5.1遍历容器
15.5.2auto
15.6实例:一个简单的文本编辑器
15.6.1处理行
15.6.2遍历
15.7vector、list和string
15.7.1insert和erase
15.8调整vector类达到STL版本的功能
15.9调整内置数组达到STL版本的功能
15.10容器概览
15.10.1迭代器类别
简单练习
思考题
术语
习题
附言
第16章算法和映射
16.1标准库算法
16.2最简单的算法find()
16.2.1一些一般的应用
16.3通用搜索算法findjf()
16.4函数对象
16.4.1函数对象的抽象视图
16.4.2类成员上的断言
16.4.3lambda表达式
16.5数值算法
16.5.1累积
16.5.2泛化accumulate()
16.5.3内积
16.5.4泛化inner_product()
16.6关联容器
16.6.1map
16.6.2map概览
16.6.3另一个map实例
16.6.4unordered_map
16.6.5set
16.7拷贝
16.7.1基本拷贝算法
16.7.2流迭代器
16.7.3使用set保持顺序
16.7.4copy_if
16.8排序和搜索
16.9容器算法
简单练习
思考题
术语
习题
附言
第17章一个显示模型
17.1为什么要使用图形
17.2一个基本显示模型
17.3第一个例子
17.4使用GUI库
17.5坐标系
17.6Shape
17.7使用Shape类
17.7.1图形头文件和主函数
17.7.2一个几乎空白的窗口
17.7.3坐标轴
17.7.4绘制函数图
17.7.5Polygon
17.7.6Rectangle
17.7.7填充
17.7.8Text
17.7.9Image
17.7.10更多未讨论的内容
17.8让图形程序运行起来
17.8.1源文件
简单练习
思考题
术语
习题
附言
第18章图形类
18.1图形类概览
18.2Point和Line
18.3Lines
184Color
185Line_Style
18.6Open_polyline
18.7Closed_polyline
18.8Polygon
18.9Rectangle
18.10管理未命名对象
18.11Text
18.12Circle
18.13Ellipse
18.14Marked_polyline
18.15Marks
18.16Mark
18.17Image
简单练习
思考题
术语
习题
附言
第19章设计图形类
19.1设计原则
19.1.1类型
19.1.2操作
19.1.3命名
19.1.4可变性
19.2Shape
19.2.1一个抽象类
19.2.2访问控制
19.2.3绘制形状
19.2.4拷贝和可变性
19.3基类和派生类
19.3.1对象布局
19.3.2类的派生和虚函数的定义
19.3.3覆盖
19.3.4访问
19.3.5纯虚函数
19.4面向对象程序设计的好处
简单练习
思考题
术语
习题
附言
第20章绘制函数图和数据图
20.1简介
20.2绘制简单函数图
20.3Function
20.3.1默认参数
20.3.2更多例子
20.3.3lambda表达式
20.4Axis
20.5近似
20.6绘制数据图
20.6.1读取文件
20.6.2一般布局
20.6.3数据比例
20.6.4构造数据图
简单练习
思考题
术语
习题
附言
第21章图形用户界面
21.1用户界面的选择
21.2“Next”按钮
21.3一个简单的窗口
21.3.1回调函数
21.3.2等待循环
21.3.3lambda表达式作为回调函数
21.4Button和其他Widget
21.4.1Wjdget
21.4.2Button
21.4.3In_box和Out_box
21.4.4Menu
21.5一个实例
21.6控制流反转
21.7添加菜单
21.8调试GUI代码
简单练习
思考题
术语
习题
附言
第22章理念和历史
22.1历史、理念和专业水平
22.1.1程序设计语言的目标和哲学
22.1.2编程理念
22.1.3风格/范型
22.2程序设计语言历史概览
22.2.1最早的程序设计语言
22.22现代程序设计语言的起源
22.2.3Algol家族
22.2.4Simula
22.2.5C
22.2.6C++
22.2.7今天
22.2.8参考资料
思考题
术语
习题
附言
第23章文本处理
23.1文本
23.2字符串
23.3I/O流
23.4映射
23.4.1实现细节
23.5一个问题
23.6正则表达式的思想
23.6.1原始字符串常量
23.7用正则表达式进行搜索
23.8正则表达式语法
23.8.1字符和特殊字符
23.8.2字符集
23.8.3重复
23.8.4子模式
23.8.5可选项
23.8.6字符集和范围
23.8.7正则表达式错误
23.9使用正则表达式进行模式匹配
23.10参考文献
简单练习
思考题
术语
习题
附言
第24章数值计算
24.1简介
24.2大小、精度和溢出
24.2.1数值限制
24.3数组
24.4C风格的多维数组
24.5Matrix库
24.5.1矩阵的维和矩阵访问
24.5.2一维矩阵
24.5.3二维矩阵
24.5.4矩阵I/O
24.5.5三维矩阵
24.6实例:求解线性方程组
24.6.1经典的高斯消去法
24.6.2选取主元
24.6.3测试
24.7随机数
24.8标准数学函数
24.9复数
24.10参考文献
简单练习
思考题
术语
习题
附言
第25章嵌入式系统程序设计
25.1嵌入式系统
25.2基本概念
25.2.1可预测性
25.2.2理想
25.2.3生活在故障中
25.3内存管理
25.3.1动态内存分配存在的问题
25.3.2动态内存分配的替代方法
25.3.3存储池实例
25.3.4栈实例
25.4地址、指针和数组
25.4.1未经检查的类型转换
25.4.2一个问题:不正常的接口
25.4.3解决方案:接口类
25.4.4继承和容器
25.5位、字节和字
25.5.1位和位运算
25.5.2bitset
25.5.3有符号数和无符号数
25.5.4位运算
25.5.5位域
25.5.6实例:简单加密
25.6编码规范
25.6.1编码规范应该是怎样的
25.6.2编码原则实例
25.6.3实际编码规范
简单练习
思考题
术语
习题
附言
第26章测试
26.1我们想要什么
26.1.1警告
26.2程序正确性证明
26.3测试
26.3.1回归测试
26.3.2单元测试
26.3.3算法和非算法
26.3.4系统测试
26.3.5寻找不成立的假设
26.4测试方案设计
26.5调试
26.6性能
26.6.1计时
26.7参考文献
简单练习
思考题
术语
习题
附言
……
第27章C语言
附录C标准库概要
附录D安装FLTK
附录EGUI实现
术语表
参考文献
· · · · · · (收起)

读后感

评分

http://www.stroustrup.com/Programming/ 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。  

评分

c 程序设计原理与实践 当之无愧应获得五星评价!无论是思想、视野、广度、教学的艺术,都表现得完美无缺。本书没有深入到很多让人感受到挫折的细节(高手可能觉得遗憾),但(考虑到更多人群)这是它的优点。本书的内容足以给初学者打下扎实的基础。  

评分

程序=数据结构+算法,著名的计算机科学家N.沃斯教授对程序的阐释简单而富有洞察力,然而他给出的仅仅是程序设计的两大基石。自那时起,各种各样的数据结构与算法的书籍层出不穷,似乎只要我们有了针对某个问题的恰当的数据结构与算法,程序只是信手拈来而已。 事情远没有这么...  

评分

c 程序设计原理与实践 当之无愧应获得五星评价!无论是思想、视野、广度、教学的艺术,都表现得完美无缺。本书没有深入到很多让人感受到挫折的细节(高手可能觉得遗憾),但(考虑到更多人群)这是它的优点。本书的内容足以给初学者打下扎实的基础。  

评分

这本书是针对初学者写的,比较基础,但内容比较广;而且作者在各个地方都强调了良好的编程习惯。 影印版效果一般,尤其是图的效果很差。  

用户评价

评分

这本书的另一个突出优点在于,它没有固步自封于某一个C++版本,而是对语言的演进脉络有着清晰的梳理。对于那些从C++03时代过渡过来的老程序员来说,书中对新特性引入的背景和动机的阐述非常到位,有助于我们理解为什么某些旧的“技巧”会被新的语言构造所取代。比如,它详细对比了旧式指针管理和智能指针的优劣,并着重讲解了`shared_ptr`在循环引用问题上的处理机制。更棒的是,它还探讨了C++20中即将或已经引入的一些模块化、协程(Coroutines)的初步概念,虽然这些内容可能不是本书的核心,但这种前瞻性的视野极大地拓宽了我的技术视野,让我对未来几年的C++发展方向有了一个更清晰的预判。总的来说,这是一本能陪伴你度过职业生涯中多个阶段的厚重之作。

评分

这本书的排版和翻译质量也值得单独称赞。作为一本原版引进的专业书籍,很多技术术语的翻译都力求精准,保持了原作者的严谨性。我特别留意了它对面向对象设计范式的探讨,它巧妙地将C++11/14/17引入的特性(如移动语义、完美转发)与传统的面向对象原则相结合,展示了现代C++如何更优雅、更高效地实现多态和封装。例如,在讲解资源管理时,它不仅重申了RAII原则,还深入比较了基于值语义和基于引用语义的容器设计差异,并给出了在不同场景下选择最佳封装策略的指导方针。这种将设计哲学与具体语法特性融会贯通的处理方式,极大地提升了我的代码设计品味。它让人意识到,C++不仅仅是一门工程语言,更是一门充满美感的抽象艺术。

评分

这本《C++程序设计(原理与实践进阶篇原书第2版)/计算机科学丛书》简直是为那些已经对C++有了基础了解,但渴望深入挖掘其核心机制和现代特性的程序员量身打造的宝典。我花了整整一个月的时间沉浸其中,最让我印象深刻的是它对模板元编程的讲解。不同于市面上那些晦涩难懂的教程,作者采用了循序渐进的方式,从简单的类型萃取到复杂的SFINAE技巧,每一步都配有清晰的逻辑推导和可运行的代码示例。我记得有一次为了理解一个复杂的编译期计算,我甚至在IDE里一步一步跟踪预处理器的行为,这本书提供的洞察力让我茅塞顿开。它不仅仅是告诉你“怎么做”,更重要的是解释了“为什么这样做是最高效、最符合C++哲学”的。尤其是关于`constexpr`和编译期计算的深度探讨,让我重新审视了我们日常代码中的性能瓶颈,并找到了优化方向。这本书的价值在于,它提供的知识密度极高,但组织结构又极其严谨,适合作为一本工具书长期摆在案头,随时查阅和回顾那些容易遗忘的底层细节。

评分

说实话,我之前对C++的现代特性,特别是并发编程这块一直感到吃力,总觉得标准库里的工具用起来总像是在“搭积木”,缺乏对底层同步原语的深刻理解。然而,这本书在处理多线程和内存模型的部分,简直是教科书级别的示范。它没有停留在简单的`std::thread`和`std::mutex`的API介绍上,而是深入剖析了C++内存模型(C++ Memory Model)的复杂性,特别是关于`std::atomic`操作的顺序一致性和释放/获取语义的微妙之处。作者用极具说服力的图示和反例,展示了不恰当的内存屏障设置可能导致的幽灵Bug。对我个人而言,最受启发的是关于无锁数据结构设计的章节,它引导我们思考如何利用硬件原语和编译器的优化假设来构建高性能、高可靠性的并发组件。读完这部分,我感觉自己对并发的理解从“会用”提升到了“能设计”的层次,这在实际项目中是质的区别。

评分

我拿到这本书时,最担心的是它作为“进阶篇”,内容会过于侧重于晦涩的理论而脱离实际应用。然而,作者在处理异常安全和资源管理时,展现出了惊人的务实精神。书中大量的“陷阱”和“最佳实践”部分,都是基于真实世界的大型项目开发中遇到的问题总结出来的。比如,关于异常安全保证级别的划分(基本、强、事务性保证)及其在类析构函数中的实现难度分析,让我彻底明白了为什么在某些关键代码路径上,我们必须采取极其谨慎的设计。它不仅教你如何写出不会崩溃的代码,更教你如何写出在面对未预期情况时依然能保持数据一致性的代码。这种深入到生产环境的代码健壮性考量,使得这本书的实用价值远超一般学术性的参考书。

评分

评分

评分

评分

评分

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有