Skip to content

ZZy979/PPP-code

Repository files navigation

PPP-code

《C++程序设计原理与实践》书中代码和习题解答

本书网站:https://www.stroustrup.com/programming.html

笔记:https://zzy979.github.io/posts/ppp-note-index/

运行方式

本项目使用CMake构建,通过IDE或命令行的方式编译并运行其中的代码示例。

IDE

直接使用支持CMake的IDE(如CLion, Visual Studio或Visual Studio Code)打开即可。

命令行

以Linux系统为例,使用Unix Makefiles生成器:

$ cmake -G "Unix Makefiles" -B cmake-build
$ cmake --build cmake-build
$ cmake-build/ch02/hello_world 
Hello, World!

单元测试

使用CTest运行单元测试:

$ cd cmake-build/
$ ctest

代码目录

std_lib_facilities.h

第2章 Hello, World!

习题

第3章 对象、类型和值

3.1 输入

3.3 输入和类型

3.4 运算和运算符

3.5 赋值和初始化

3.6 组合赋值运算符

3.9 类型安全

简单练习

习题

第4章 计算

4.4 语句

4.4.1 选择语句

4.4.1.1 if语句
4.4.1.2 switch语句
4.4.1.3 switch技术细节

4.4.2 循环语句

4.4.2.1 while语句
4.4.2.3 for语句

4.6 向量

4.6.3 一个数值计算的例子

4.6.4 一个文本处理的例子

简单练习

习题

第5章 错误

5.6 异常

5.6.1 参数错误

5.7 逻辑错误

习题

第6章 编写一个程序

习题

第7章 完成一个程序

第8章 函数相关的技术细节

简单练习

习题

第9章 类相关的技术细节

9.8 Date类

简单练习

习题

第10章 输入/输出流

10.5 读写文件

10.6 I/O错误处理

10.7 读取单个值

10.11 读取结构化的文件

简单练习

习题

第11章 定制输入/输出

11.2 输出格式化

11.2.1 整数输出

11.2.2 整数输入

11.2.4 精度

11.2.5 域

11.3 文件打开和定位

11.3.2 二进制文件

11.4 字符串流

11.7 使用非标准分隔符

简单练习

习题

第12章 一个显示模型

12.3 第一个例子

12.7 使用形状类

简单练习

习题

第13章 图形类

13.2 Point和Line

13.3 Lines

13.4 Color

13.5 Line_style

13.6 Open_polyline

13.7 Closed_polyline

13.8 Polygon

13.9 Rectangle

13.10 管理未命名对象

13.11 Text

13.12 Circle

13.13 Ellipse

13.14 Marked_polyline

13.15 Marks

13.16 Mark

13.17 Image

简单练习

习题

第14章 设计图形类

14.3 基类和派生类

14.3.3 覆盖

简单练习

习题

第15章 绘制函数图和数据图

15.2 绘制简单函数图

15.3 Function

15.3.2 更多例子

15.5 近似

15.6 绘制数据图

简单练习

习题

第16章 图形用户界面

16.5 一个实例

16.7 添加菜单

简单练习

习题

第17章 向量和自由空间

17.3 内存、地址和指针

17.3.1 sizeof运算符

17.5 析构函数

17.5.2 析构函数和自由存储

17.6 访问元素

17.9 指针和引用

17.9.3 示例:链表

17.9.5 链表的应用

17.10 this指针

17.10.1 链表的应用

简单练习

习题

第18章 向量和数组

18.4 基本操作

18.4.2 调试构造函数和析构函数

18.7 实例:回文

简单练习

习题

第19章 向量、模板和异常

19.3 模板

19.3.5 整数作为模板参数

简单练习

习题

第20章

20.1 存储和处理数据

20.1.1 使用数据

20.1.2 一般化代码

20.3 序列和迭代器

20.3.1 回到示例

20.4 链表

20.5 再次一般化vector

20.6 示例:简单文本编辑器

20.8 使我们的vector适配STL

20.9 使内置数组适配STL

简单练习

习题

第21章 算法和映射

21.4 函数对象

21.5 数值算法

21.5.2 一般化accumulate()

21.5.3 inner_product()

21.6 关联容器

21.6.1 map

21.6.3 另一个map示例

21.7 拷贝操作

21.7.2 流迭代器

21.8 排序和搜索

简单练习

习题

第23章 文本处理

23.2 字符串

23.4 映射

23.7 使用正则表达式搜索

23.8 正则表达式语法

23.8.7 正则表达式错误

23.9 使用正则表达式匹配

简单练习

习题

第24章 数值计算

24.2 大小、精度和溢出

24.2.1 数值限制

24.5 Matrix库

24.5.1 维度和访问

24.6 示例:解线性方程组

24.6.3 测试

24.7 随机数

简单练习

习题

术语

术语

参考:Bjarne Stroustrup's C++ Glossary

About

《C++程序设计原理与实践》书中代码和习题解答

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages