首页 > 代码库 > C++中出现的计算机术语3

C++中出现的计算机术语3

ambiguous call(有二义性的调用)

一种编译错误,当调用重载函数,找不到唯一的最佳匹配时产生。

arguments(实参)

调用函数时提供的值。这些值用于初始化相应的形参,其方式类似于初始

化同类型变量的方法。

automatic objects(自动对象)

局部于函数的对象。自动对象会在每一次函数调用时重新创建和初始化,并在定义它的函数块结束时撤销。一旦函数执行完毕,这些对象就不再存在了。

best match(最佳匹配)

在重载函数集合里找到的与给定调用的实参达到最佳匹配的唯一函数。

call operator(调用操作符)

使函数执行的操作符。该操作符是一对圆括号,并且有两个操作数:被调用函数的名字,以及由逗号分隔的(也可能为空)形参表。

candidate functions(候选函数)

在解析函数调用时考虑的函数集合。候选函数包括了所有在该调用发生的作用域中声明的、具有该调用所使用的名字的函数。

const member function(常量成员函数) 

类的成员函数,并可以由该类类型的常量对象调用。常量成员函数不能修改所操纵的对象的数据成员。

constructor(构造函数)

与所属类同名的类成员函数。构造函数说明如何初始化本类的对象。构造函数没有返回类型,而且可以重载。

constructorinitializer list(构造函数初始化列表)

在构造函数中用于为数据成员指定初值的表。初始化列表出现在构造函数的定义中,位于构造函数体与形参表之间。该表由冒号和冒号后面的一组用逗号分隔的成员名组成,每一个成员名后面跟着用圆括号括起来的该成员的初值。

default constructor(默认构造函数)

在没有显式提供初始化式时调用的构造函数。如果类中没有定义任何构造函数,编译器会自动为这个类合成默认构造函数。

function(函数)

可调用的计算单元。

function body(函数体)

定义函数动作的语句块。

function matching(函数匹配)

确定重载函数调用的编译器过程。调用时使用的实参将与每个重载函数的形参表作比较。

function prototype(函数原型)

函数声明的同义词。包括了函数的名字、返回类型和形参类型。调用函数时,必须在调用点之前声明函数原型。

inline function(内联函数)

如果可能的话,将在调用点展开的函数。内联函数直接以函数代码替代了函数调用点展开的函数。内联函数直接以函数代码替代了函数调用语句,从而避免了一般函数调用的开销。

local static objects(局部静态对象) 

在函数第一次调用前就已经创建和初始化的局部对象,其值在函数的调用之间保持有效。

local variables(局部变量)

在函数内定义的变量,仅能在函数体内访问。

object lifetime(对象生命期)

每个对象皆有与之关联的生命期。在块中定义的对象从定义时开始存在,直到它的定义所在的语句块结束为止。静态局部对象和函数外定义的全局变量则在程序开始执行时创建,当main 函数结束时撤销。动态创建的对象由new 表达式创建,从此开始存在,直到由相应的delete 表达式释

放所占据的内存空间为止。

overload resolution(重载确定)

函数匹配的同义词。

overloaded function(重载函数)

和至少一个其他函数同名的函数。重载函数必须在形参的个数或类型上有所不同。

parameters(形参)

函数的局部变量,其初值由函数调用提供。

recursive function(递归函数)

直接或间接调用自己的函数。

return type(返回类型)

函数返回值的类型。

synthesized defaultconstructor(合成默认构造函数)

如果类没有定义任何构造函数,则编译器会为这个类创建(合成)一个默认构造函数。该函数以默认的方式初始化类中的所有数据成员。

temporary object(临时对象)

在求解表达式的过程中由编译器自动创建的没有名字的对象。“临时对象”这个术语通常简称为“临时”。临时对象一直存在直到最大表达式结束为止,最大表达式指的是包含创建该临时对象的表达式的最大范围内的表达式。

this pointer(this 指针)

成员函数的隐式形参。this指针指向调用该函数的对象,是指向类类型的指针。在const 成员函数中,该指针也指向const 对象。

viable functions(可行函数)

重载函数中可与指定的函数调用匹配的子集。可行函数的形参个数必须与该函数调用的实参个数相同,而且每个实参类型都可潜在地转换为相应形参的类型。

base class(基类)

是其他类的父类。基类定义了派生类所继承的接口。

condition state(条件状态) 

流类用于指示给定的流是否用的标志以及相关函数。

derived class(派生类)

与父类共享接口的类。

file mode(文件模式)

由fstream 类定义的标志,在打开文件和控制文件如何使用时指定。

fstream

用来读或写已命名文件的流对象。除了普通的iostream 操作外,fstream类还定义了open 和close 成员。open成员函数有一个表示打开文件名的C 风格字符串参数和一个可选的打开模式参数。默认时,ifstream对象以in 模式打开,ofstream对象以out 模式打开,而fstream 对象则同时以in 和out 模式打开。close成员关闭流关联的文件,必须在打开另一个文件前调用。

inheritance(继承)

有继承关系的类型共享相同的接口。派生类继承其基类的属性。第

object-orientedlibrary(面向对象标准库)

有继承关系的类的集合。一般来说,面向对象标准库的基类定义了接口,由继承这个 基类的各个派生类共享。在IO 标准库中,istream和ostream 类是fstream 和sstream 头文件中定义的类型的基类。派生类的对象可当做基类对象使用。例如,可在ifstream 对象上使用istream 定义的操作。


stringstream

读写字符串的流对象。除了普通的iostream 操作外,它还定义了名为str 的重载成员。无实参地调用str 将返回stringstream 所关联的 string 值。用string 对象做实参调用它则将该stringstream 对象与实参副本相关联。

 

adaptor(适配器) 

一种标准库类型、函数或迭代器,使某种标准库类型、函数或迭代器的行为类似于另外一种标准库类型、函数或迭代器。系统提供了三种顺序容器适配器:stack(栈)、queue(队列)以及priority_queue(优先级队列)。所有的适配器都会在其基础顺序容器上定义一个新接口。

begin(begin 操作)

一种容器操作。如果容器中有元素,该操作返回指向容器中第一个元素的迭代器;如果容器为空,则返回超出末端迭代器。

container(容器)

一种存储给定类型对象集合的类型。所有标准库容器类型都是模板类型。定义容器时,必须指定在该容器中存储的元素是什么类型。标准库容器具有可变的长度。

deque(双端队列)

一种顺序容器。deque中存储的元素通过其下标位置访问。该容器类型在很多方面与vector 一样,唯一的不同是deque 类型支持在容器首部快速地插入新元素,就像在尾部插入一样,而且无论在容器的哪一端插入或删除都不会引起元素的重新定位。

end(end 操作)

一种容器操作,返回指向容器的超出末端的下一位置的迭代器。

invalidated iterator(无效迭代器)

指向不再存在的元素的迭代器。无效迭代器的使用未定义,可能会导致严重的运行时错误。

iterator(迭代器)

一种类型,其操作支持遍历和检查容器元素的操作。所有标准库容器都定义了表9.5 列出的4 种迭代器,与之共同工作。标准库迭代器都支持解引用(*)操作符和箭头(->)操作符,用于检查迭代器指向的元素值。它们还支持前置和后置的自增(++)、自减操作符(--),以及相等(==)和不等(!=)操作符。

iterator range(迭代器范围)

由一对迭代器标记的一段元素范围。第一个迭代器指向序列中的第一个元素,而第二个迭代器则指向该范围中的最后一个元素的下一位置。如果这段范围为空,则这两个迭代器相等(反之亦然——如果这两个迭代器相等,则它们标记一个空范围)。如果这段范围非空,则对第一个空范围)。如果这段范围非空,则对第一个迭代器重复做自增运算,必然能达第二个迭代器。通过这个对迭代器进行自增的过程,即可处理该序列中所有的元素。

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 容器中间添加(或删除)元素将使所有指向插入(或删除)点后面的元素的迭代器失效。