标签:
adaptor(适配器)
一种标准库类型、函数或迭代器,使某种标准库类型、函数或迭代器的行为类似于第二种标准库类型、函数或迭代器。系统提供了三种顺序容器适配器:stack(栈)、queue(队列)以及priority_queue(优先级队列)。全部的适配器都会在其基础顺序容器上定义一个新接口。
begin(begin 操作)
一种容器操作。假设容器中有元素,该操作返回指向容器中第一个元素的迭代器;假设容器为空,则返回超出末端迭代器。
container(容器)
一种存储给定类型对象集合的类型。全部标准库容器类型都是模板类型。定义容器时,必须指定在该容器中存储的元素是什么类型。标准库容器具有可变的长度。
deque(双端队列)
一种顺序容器。deque中存储的元素通过其下标位置訪问。该容器类型在非常多方面与vector 一样,唯一的不同是deque 类型支持在容器首部高速地插入新元素,就像在尾部插入一样,并且不管在容器的哪一端插入或删除都不会引起元素的又一次定位。
end(end 操作)
一种容器操作,返回指向容器的超出末端的下一位置的迭代器。
invalidated iterator(无效迭代器)
指向不再存在的元素的迭代器。无效迭代器的使用没有定义,可能会导致严重的执行时错误。
iterator(迭代器)
一种类型,其操作支持遍历和检查容器元素的操作。全部标准库容器都定义了表9.5 列出的4 种迭代器,与之共同工作。标准库迭代器都支持解引用(*)操作符和箭头(->)操作符,用于检查迭代器指向的元素值。它们还支持前置和后置的自增(++)、自减操作符(--),以及相等(==)和不等(!=)操作符。
iterator range(迭代器范围)
由一对迭代器标记的一段元素范围。第一个迭代器指向序列中的第一个元素,而第二个迭代器则指向该范围中的最后一个元素的下一位置。假设这段范围为空,则这两个迭代器相等(反之亦然——假设这两个迭代器相等,则它们标记一个空范围)。假设这段范围非空,则对第一个空范围)。如465果这段范围非空,则对第一个迭代器反复做自增运算,必定能达第二个迭代器。通过这个对迭代器进行自增的过程,就可以处理该序列中全部的元素。
left-inclusiveinterval(左闭合区间)
一段包括第一个元素但不包括最后一个元素的范围。一般表示为[i, j),意味着该序列从i 開始(包括i)一直到j,但不包括j。
list(列表)
一种顺序容器。list中的元素仅仅能顺序訪问——从给定元素開始,要获取还有一个元素,则必须通过自增或自减迭代器的操作遍历这两个元素之间的全部元素。list容器支持在容器的不论什么位置实现高速插入(或删除)运算。新元素的插入不会影响list 中的其它元素。插入元素时,迭代器保持有效;删除元素时,仅仅有指向该元素的迭代器失效。
priority_queue(优先级队列)
一种顺序容器适配器。在这样的队列中,新元素不是在队列尾部插入,而是依据指定的优先级级别插入。默认情况下,元素的优先级由元素类型的小于操作符决定。
queue(队列)
一种顺序容器适配器。在这样的队列中,保证仅仅在队尾插入新元素,并且仅仅在队首删除元素。
sequential container(顺序容器)
以有序集合的方式存储单一类型对象的类型。顺序容器中的元素可通过下标訪问。
stack(栈)
一种顺序容器适配器,这样的类型仅仅能在一端插入和删除元素。
vector(向量)
一种顺序容器。vector中的元素通过其位置下标訪问。可通过调用push_back 或insert 函数在vector 中加入元素。在vector 中加入元素可能会导致又一次为容器分配内存空间,也可能会使全部的迭代器失效。在vector 容器中间加入(或删除)元素将使全部指向插入(或删除)点后面的元素的迭代器失效。
associative array(关联数组)
由键而不是位置来索引元素的数组。通常描写叙述为:此类数组将键映射到其关联的值上。
associative container(关联容器)
存储对象集合的类型,支持通过键的高效查询。
key_type
关联容器定义的类型,表示该容器在存储或读取值时所使用的键的类型。对于map 容器,key_type是用于索引该容器的类型。对于set 容器,key_type与value_type 同样。
map
定义关联数组的关联容器类型。与vector 容器一样,map也是类模板。可是,map容器定义了两种类型:键类型及其关联的值类型。在map 中,每一个键仅仅能出现一次,并关联某一详细的值。对map 容器的迭代器进行解引用将获得一个pair 对象,该对象存储了一个const 键和它所关联的值。
mapped_type
map 或multimap 容器定义的类型,表示在map 容器中存储的值的类型。
multimap
类似map 的关联容器。在multimap 容器中,一个键能够出现多次。
multiset
仅仅存储键的关联容器类型。在multiset 容器中,一个键能够出现多次。
pair
一种类型,有两个public 数据成员,分别名为first 和second。pair类型是带有两个类型形參的模板类型,它的类型形參用作数据成员的类型。
set
仅仅存储键的关联容器。在set 容器中,一个键仅仅能出现一次。
strict weak ordering(严格弱排序)
关联容器所使用的键之间的比較关系。在这样的关系下,随意两个元素都可比較,并能确定两者之间谁比谁小。假设两个值都不比对方小,则这两个值相等.
value_type
存储在容器中的元素的类型。对于set 和multiset 容器,value_type与key_type 同样。而对于map 和multimap 容器,该类型为pair 类型,
它的first 成员是const key_type 类型,second成员则是 mapped_type 类型。
* operator(解引用操作符)
用于map、set、multimap或multiset 迭代器时,解引用操作符将生成一个value_type 类型的值。注意,对于map 和multimap 容器,value_type是pair 类型。
[] operator(下标操作符)
下标操作符。对map 容器使用下标操作符时,[]中的索引必须是 key_type 类型(或者是能够转换为key_type 的类型)的值;该运算生成mapped_type 类型的值。
back_inserter
形參为指向容器的引用的迭代器适配器,生成使用push_back 为指定容器加入元素的插入迭代器。
bidirectionaliterator(双向迭代器)
除了提供前向迭代器同样的操作之外,还支持使用——操作符向后遍历序列。
forward iterator(前向迭代器)
可读写元素的迭代器,但不支持——操作符。
front_inserter
一种迭代器适配器,生成使用push_front 在指定容器的開始位置加入新元素的插入迭代器。
generic algorithms(泛型算法)
与类型无关的算法。
input iterator(输入迭代器)
仅仅能读不能写元素的迭代器。
insert iterator(插入迭代器)
使用容器操作插入元素而不是覆写元素的迭代器。给插入迭代器赋值,等效于将具有所赋值的新元素插入到序列中。
inserter(插入器)
一种迭代器适配器,形參为一个迭代器和一个指向容器的引用,生成使用insert 为容器加入元素的插入迭代器,新元素插入在该适配器的迭代器形參所指向的元素前面。
istream_iterator
读输入流的流迭代器。
iterator categories(迭代器种类)
基于迭代器所支持的操作,在概念上对迭代器进行分类。迭代器种类形成了一个层次结构,功能较强的迭代器种类提供比它弱的迭代器的全部操作。
算法使用迭代器种类来指定它的迭代器实參必须支持什么操作。仅仅要迭代器至少提供这个层次的操作,就能够用于该算法。比如,一些算法仅仅要求输入迭代器,
则能够使用除了输出迭代器之外的随意迭代器调用这种算法。而要求使用随机訪问迭代器的算法仅仅能用在支持随机訪问运算的迭代器上。
off-the-end iterator(超出末端迭代器)
一种迭代器,用于标记序列中一个元素范围的结束位置。超出末端迭代器用作结束遍历的“哨兵”,指向范围内最后一个元素的下一位置。
超出末端迭代器可能指向不存在的元素,因此永远不能做解引用运算。
ostream_iterator
写输出流的迭代器。
output iterator(输出迭代器)
仅仅能写不能读元素的迭代器。写输出流的迭代器。
output iterator(输出迭代器)
仅仅能写不能读元素的迭代器。
predicate(谓词)
其返回类型可转换为bool 值的函数。通常被泛型算法用于检查元素。标准库所使用的谓词函数不是一元(须要一个实參)的就是二元的(须要两个实參)。
random-accessiterator(随机訪问迭代器)
除了支持双向迭代器同样的操作之外,还提供了使用关系运算比較迭代器值的能力,以及在迭代器上做算术运算的能力。因此,这类迭代器支持随机訪问元素。
reverse iterator(反向迭代器)
向后遍历序列的迭代器。这些迭代器颠倒了++ 和-- 的含义。
stream iterator(流迭代器)
可与流绑定在一起的迭代器。
abstract data type(抽象数据类型)
使用封装来隐藏事实上现的数据结构,同意使用类型的程序猿抽象地考虑该类型做什么,而不是详细地考虑类型怎样表示。C++中的类可用来定义抽象数据类型。
access label(訪问标号)
public 或private 标号,指定后面的成员能够被类的使用者訪问或者仅仅能被类的友元和成员訪问。每一个标号为在该标号到下一个标号之间声明的成员设置訪问保护。标号能够在类中出现多次。
class(类)
是C++ 中定义抽象数据类型的一种机制,能够有数据、函数或类型成员。一个类定义了新的类型和新的作用域。
class declaration(类声明)
类能够在定义之前声明。类声明用keywordclass(或struct)表示,后面加类名字和一个分号。已声明但未定义的类是一个不全然的类型。
class keyword(class 关键字)
用在class keyword定义的类中,初始的隐式訪问标号是private。
class scope(类作用域)
每一个类定义一个作用域。类作用域比其它作用域复杂得多——在类的定义体内定义的成员函数能够使用出如今该定义之后的名字。
concrete class(详细类)
暴露事实上现细节的类。
const member function(常量成员函数)
一种成员函数,不能改变对象的普通(即,既不是static 也不是mutable)数据成员。const成员中的this 指针指向const 对象。成员函数能否够被重载取决于该函数是否为const。
constructorinitializer list(构造函数初始化列表)
指定类的数据成员的初始值。在构造函数体现运行前,用初始化列表中指定的值初始化成员。没有在初始化列表中初始化的类成员,使用它们的默认构造函数隐式初始化。
conversionconstructor(转换构造函数)
可用单个实參调用的非explicit 构造函数。隐式使用转换构造函数将实參的类型转换为类类型。
data abstraction(数据抽象)
注重类型接口的编程技术。数据抽象同意程序猿忽略类型怎样表示的细节,而仅仅考虑该类型能够运行的操作。数据抽象是面向对象编程和泛型编程的基础。
default constructor(默认构造函数)
没有指定初始化时使用的构造函数。
encapsulation(封装)
实现与接口的分离。封闭隐藏了类型的实现细节。在C++ 中,实施封装能够阻止普通用户訪问类的private 部分。
explicit constructor(显式构造函数)
能够用单个实參调用但不能用于运行隐式转换的构造函数。通过将keywordexplicit 放在构造函数的声明之前而将其设置为explicit。
forward declaration(前向声明)
对尚没有定义的名字的声明。大多用于引用出如今类定义之前的类声明。參见不全然类型。
friend(友元)
类授权訪问其非public 成员的机制。类和函数都能够被指定为友元。友元拥有与成员一样的訪问权。
incomplete type(不全然类型)
已声明但没有定义的类型。不能使用不全然类型来定义变量或类成员。定义指向不全然类型的引用或指针是合法的。
member function(成员函数)
类的函数成员。普通成员函数通过隐式的this 指针绑定到类类型的对象。static成员函数不与对象绑定且没有this 指针。成员函数能够被
重载,仅仅要该函数的版本号可由形參的数目或类型来差别。
mutable data member(可变数据成员)
一种永远也不能为const 对象的数据成员,即使作为const 对象的成员,也不能为const 对象。mutable成员能够在const 函数中改变。
name lookup(名字查找)
将名字的使用与其对应的声明相匹配的过程。
private members(私有成员)
在private 訪问标号之后定义的成员,仅仅能被友元和其它的类成员訪问。类所使用的数据成员和有用函数在不作为类型接口的组成部分时,通常声明为private。
public members(公用成员)
在public 訪问标号之后定义的成员,可被类的随意使用者訪问。一般而言,仅仅有定义类接口的函数应定义在public 部分。
static member(静态成员)
不是随意对象的组成部分、但由给定类的全体对象所共享的数据或函数成员。
struct keyword(struct 关键字)
用在struct keyword定义的类中,初始的隐式訪问标号为public。
synthesized default constructor(合成的默认构造函数)
编译器为未定义不论什么构造函数的类创建(合成)的构造函数。这个构造函数通过执行该类的默认构造函数来初始化类类型的成员,内置类型的成员不进行初始化。
标签:
原文地址:http://www.cnblogs.com/mengfanrong/p/4484755.html