摘要:
在编写软件时,不仅要有正确性,而且应该具有容错能力。这里就要引入异常处理了。 1、异常处理的基本思想 程序运行中的有些错误可以预料但不可避免的,如内存空间不足、硬盘上的文件被移动等由系统运行环境造成的错误。这时要力争做到允许用户排除环境错误,继续运行程序;至少要给出适当的提示信息。这就是异常处理程序 阅读全文
摘要:
一个输入流对象是数据流出的源头,三个最重要的流类是istream、ifstream、istringstream。 istream类最适合用于顺序文本模式输入。基类ios的所有功能都包括在istream中。 我们通常使用预先定义的cin对象,它实际上是istream_withassign类的一个对象。 阅读全文
摘要:
最初设计流的目的是用于文本,因此默认的输出模式就是文本方式。在以文本模式输出时,若遇到换行符(十进制10)便自动被扩充为回车换行符(十进制13和10)。这种自动扩充有时可能出问题,请看下列程序: #include<fstream>using namespace std;int iarray[2] = 阅读全文
摘要:
输出流成员函数有三种类型: 与操作符等价的成员函数; 执行非格式化写操作的成员函数 其他修改流状态且不同于操作符或插入运算符的成员函数 对于顺序的格式化输出,可以仅使用插入运算符和操作符。对于随机访问二进制磁盘输出,使用其他成员函数,使用或不使用插入运算符。 1、输出流的open函数 2、输出流的c 阅读全文
摘要:
就像C语言一样,c++语言中也没有输入/输出语句。但c++编译系统带有一个面向对象的输入/输出软件包,它就是I/O流类库。 1、I/O流的概念及流类库结构 I/O流类库是C语言中I/O函数在面向对象的程序设计方法中的一个替换产品。 当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象, 阅读全文
摘要:
1、函数对象 函数对象是STL提供的第四类主要组件,它使得STL的应用更加灵活方便,从而增强了算法的通用性。大多数STL算法可以用一个函数对象作为参数。所谓“函数对象”其实就是一个行为类似函数的对象,它可以不需要参数,也可以带有若干参数,其功能是获取一个值,或者改变操作的状态。 在c++程序设计中, 阅读全文
摘要:
标准c++算法是通过迭代器和模板来实现的,其实算法本身就是一种函数模板。 算法从迭代器那里获得一个元素,而迭代器则知道一个元素在容器中的什么位置。迭代器查找元素的位置并将这些信息提供给算法以便算法能够访问这些元素。算法不必关心具体的元素存储在容器中什么位置的细节,通常情况下,算法也不必直到存储元素的 阅读全文
摘要:
理解迭代器对于理解STL框架并掌握STL的使用至关重要。简单地说,迭代器是面向对象版本的指针,STL算法利用迭代器对存储在容器中的元素序列进行遍历,迭代器提供了访问容器和序列中每个元素的方法。 虽然指针也是一种迭代器,但迭代器却不仅仅是指针。指针可以指向内存中的一个地址,通过这个地址就可以访问相应的 阅读全文
摘要:
容器适配器是用来扩展7中基本容器的,是修改和调整其他类接口的类。他们不提供存放数据的实际数据结构的实现方法,而且容器适配器也不支持迭代器。 1、标准栈容器 使用STL中的标准栈为程序员提供了一层附加的保护,下溢和上溢的情况在发生之间就会被捕获。 标准栈容器是使用适配器与一种基础容器相结合来实现的。使 阅读全文
摘要:
列表容器主要用于存放链表,其中的链表是双向链表,可以从任意一端开始遍历。列表容器是需要按顺序访问的容器。另外,列表容器不支持随机访问迭代器,因此某些算法不能适合于列表容器。列表容器还提供了另一种操作 拼接(splicing),其作用是将一个序列中的元素插入到另一个序列中。其头文件为<list> 1、 阅读全文