(1)条件状态(condition state):可被任何流类使用的一组标志和函数,用来指出给定流是否可用。
(2)文件模式(file mode):类fstream定义的一组标志,在打开文件时指定,用来控制文件如何被使用。
(3)文件流(file stream):用来读写命名文件的流对象。除了普通的iostream操作,文件流还定义了open和close成员。成员函数open接受一个string或一个C风格字符串参数,指定要打开的文件名,它还可以接受一个可选的参数,指定文件打开模式。成员函数close关闭流所关联的文件,调用close后才能调用open打开另一个文件。
(4)fstream :用于同时读写一个相同文件的文件流。默认情况下,fstream以in(读模式)和out(写模式)模式打开文件。
(5)ifstream:用于从输入文件读取数据的文件流。默认情况下,ifstream以in模式打开文件。
(6)ofstream:用来向输出文件写入数据的文件流。默认情况下,ofstream以out模式打开文件。
(7)继承(inheritance):程序设计功能,令一个类型可以从另一个类型继承接口。类ifstream和istringstream继承自istream,ostream和ostringstream继承自ostream。
(8)适配器(adaptor):标准库类型 、函数或迭代器,它们接受一个类型、函数或迭代器,使其行为像另外一个类型、函数或迭代器一样。标准库提供了三种顺序容器适配器:stack、queue和priority_queue。每个适配器都在其底层顺序容器上定义了一个新的接口。
(9)数组(array):固定大小的顺序容器。为了定义一个array,除了元素类型之外,还必须给定大小。array中的元素可以用其位置下标来访问。array支持快速的随机访问。
(10)deque 顺序容器:双端队列,deque中的元素可以通过其位置下标来访问。支持快速的随机访问。deque各方面都与vector类似,唯一的差别是,deque支持在容器头尾位置的快速插入和删除,而且在两端插入或删除元素都不会导致重新分配空间。
(11)list 顺序容器:表示一个双向链表。list中的元素只能顺序访问。从一个给定元素开始,为了访问另一个元素,我们只能遍历两者之间的所有元素。list上的迭代器既支持递增运算(++)。也支持递减运算(--)。list支持任意位置的快速插入(或删除)操作。当加入新元素后,迭代器任然有效。当删除元素后,只有原来指向被删除元素的迭代器才会失效。
(12)vector 顺序容器:vector中的元素可以通过位置下标访问。支持快速的随机访问。我们只能在vector末尾实现高效的元素添加/删除。向vector添加元素可能导致内存重新分配,从而使所有指向vector的迭代器失效。在vector内部添加(或删除)元素会使所有指向插入(删除)点之后元素的迭代器失效。
(13)forward_list 顺序容器:表示一个单向链表。forward_list中的元素只能顺序访问。从一个给定元素开始,为了访问另一个元素,我们只能遍历两者之间的所有元素,forward_list上的迭代器不支持递减运算(--)。forward_list支持任意位置的快速插入(或删除)操作。插入和删除发生在一个给定的迭代器之后的位置。因此,除了通常的尾后迭代器之外,forward_list还有一个“首前”迭代器。在添加新元素之后,原有的指向forward_list的迭代器仍有效。在删除元素后,只有原来指向被删除元素的迭代器才会失效。
(14)begin 容器操作,返回一个指向容器首元素的迭代器,如果容器为空,则返回尾后迭代器。是否返回const迭代器依赖于容器的类型。
(15)cbegin 容器操作,返回一个指向容器首元素的const_iterator,如果容器为空,则返回尾后迭代器。
(16)cend 容器操作,返回一个指向容器尾元素之后(不存在的)的const_iterator。
(17)容器(container):保存一组给定类型对象的类型。每个标准库容器类型都是一个模板类型。为了定义一个容器,我们必须指定保存在容器中的元素的类型。除了array之外,标准库容器都是大小可变的。
(18)迭代器范围(iterator range):由一对迭代器指定的元素范围。第一个迭代器表示序列中的第一个元素,第二个迭代器指向最后一个元素之后的位置。如果范围为空,则两个迭代器是相等的(反之亦然,如果两个迭代器不等,则它们表示一个非空范围)。如果范围非空,则必须保证,通过反复递增第一个迭代器,可以到达第二个迭代器。通过递增迭代器,序列中每个元素都能被访问到。
(19)首前迭代器(off-the-beginning iterator):表示一个forward_list开始位置之前(不存在的)元素的迭代器。是forward_list的成员函数before_begin的返回值。与end()迭代器类似,不能被解引用。
(20)尾后迭代器(off-the-end iterator):表示范围中尾元素之后位置的迭代器。通常被称为“末尾迭代器”(end iterator)。
(21)priority_queue 顺序容器适配器,默认情况下,在vector之上实现的,生成一个队列,插入其中的元素不放在末尾,而是根据特定的优先级排列。默认情况下,优先级用元素类型上的小于运算符确定。
(22)stack 顺序容器适配器,默认情况下,在deque之上实现的,生成一个类型,使我们只能在其一端添加和删除元素。
(23)queue 顺序容器适配器,默认情况下,在deque之上实现的,生成一个类型,使我们能将新元素添加到末尾,从头部删除元素。