Zhao Zhengyang

《C++程序设计原理与实践》笔记 第11章 定制输入/输出

在本章中,我们重点关注如何使第10章中介绍的通用iostream框架适配特定的需求和偏好。 11.1 规则性和不规则性 C++标准库的输入/输出部分——iostream库为文本的输入和输出提供了一个统一的、可扩展的框架。 到目前为止,我们将所有输入源视为等价的,有时这是不够的。例如,文件与其他输入源(例如网络连接)的区别是可以按单个字节寻址(而网络连接的字节是流式到达的)(类似于向量和迭...

《C++程序设计原理与实践》笔记 第10章 输入/输出流

在本章和下一章中,我们将介绍C++标准库中用于处理来自各种源的输入和输出的功能:I/O流。本章关注基本模型:如何读写单个值,以及如何打开和读写整个文件。下一章将介绍具体细节。 10.1 输入和输出 如果没有数据,计算就毫无意义。我们需要将数据输入到程序中来进行一些有价值的计算,并获取输出。数据的输入源和输出目标非常广泛。因此,我们需要一种将程序的读写操作与实际使用的输入/输出设备分离的方法...

《C++程序设计原理与实践》笔记 第9章 类相关的技术细节

在本章中,我们继续关注主要的程序设计工具——C++语言。本章主要介绍与用户自定义类型(即类和枚举)相关的语言技术细节。这些语言特性大部分是以逐步改进一个Date类型的方式来介绍的。采用这种方式,我们还可以顺便介绍一些有用的类设计技术。 9.1 用户自定义类型 C++语言提供了一些内置类型(built-in type),例如char、int和double。对于一个类型,如果编译器无须借助程序...

《C++程序设计原理与实践》笔记 第8章 函数相关的技术细节

在本章和下一章中,我们将注意力从程序设计转移到主要的编程工具——C++语言上。我们会介绍一些语言的技术细节,来给出一个C++的基本功能的稍宽的视角,并从更系统化的角度讨论这些功能。 8.1 技术细节 程序设计(programming)(即如何用代码表达思想)远比程序设计语言的特性(技术细节)更有意思。但是,当你开始编程时,你必须学习编程语言的“语法和词汇”,这就是本章和下一章要做的事。但是...

《C++程序设计原理与实践》笔记 第7章 完成一个程序

编写程序需要不断地改进你要实现的功能及其表达方式。第6章给出了一个能够工作的计算器程序的最初版本,本章将对其进一步改进。“完成程序”意味着使程序更易于使用和维护——包括改进用户接口、做一些仔细的错误处理工作、增加一些有用的特性、重构代码使之易于理解和修改。 7.1 引言 当程序第一次“正常”运行时,你大约只完成了一半的工作。一旦程序“基本可以工作”,真正的乐趣就开始了!此时我们可以在初步版...

《C++程序设计原理与实践》笔记 第6章 编写一个程序

接下来的两章将从一个最初不清晰的想法开始,经过分析、设计、实现、测试、再设计、再实现等步骤开发一个计算器程序,目的是帮助读者了解在编写代码的过程中如何去思考。在这个过程中将讨论程序结构、用户定义类型和输入处理。 6.1 一个问题 编写程序往往从一个问题开始,即你有一个问题,想要一个程序来帮助解决。因此理解问题是编写好程序的关键。 我们编写一个简单计算器,即“让计算机对输入的表达式做常规的...

《C++程序设计原理与实践》笔记 第5章 错误

本章将讨论程序的正确性、错误和错误处理。 5.1 引言 在编写程序时,错误是不可避免的。而最后的程序必须是没有错误的,至少不存在不可接受的错误。 错误的分类有很多种,例如: 编译时错误(compile-time errors):由编译器发现的错误,例如语法错误、类型错误 链接时错误(link-time errors):链接器将对象文件链接为可执行程序时发现的错误 运行时错误...