class template(类模板)
可以用来定义一个类定义了一组特定类型的类的。类模板template keyword其次是尖括号(<>)附上、的列表来定义。
export keyword(导出关键字)
用来指出编译器必须记住相关模板定义位置的keyword。支持模板实例化的分别编译模型的编译器使用它。exportkeyword一般与函数定义一起出现,类通常在相关类实现文件里声明为export。在一个程序中,一个模板仅仅能用export keyword定义一次。
function template(函数模板)
可用于不同类型的函数的定义。函数模板用template keyword后接用尖括号(<>)括住、以逗号分隔的一个或多个形參的列表来定义。
generic handle class(泛型句柄类)
保存和管理指向其它类的指针的类。
泛型句柄接受单个类型形參。而且分配和管理指向该类型对象的指针。句柄类定义了必要的复制控制成员,它还定义了解引用操作符(*)和箭头成员訪问操作符(->)。泛型句不须要了解它管理的类型。
inclusion compilationmodel(包括编译模型)
编译器用来寻找模板定义的机制,它依赖于模板定义被包括在每一个使用模板的文件里。一般而言,模板定义存储在一个头文件里。使用模板的随意文件必须包括该文件。
instantiation(实例化)
用实际模板实參产生模板特定实例的编译器过程,在该实例中,用相应实參取代形參。函数基于调用中使用的实參自己主动实例化,使用类模板时必须显式提供模板实參。
abort
异常终止程序运行的库函数。
通常,由terminate 调用abort,程序也能够直接调用abort。abort定义在头文件cstdlib 中。
auto_ptr
一个库类模板,提供对动态分配对象的异常安全的訪问。
不能将auto_ptr 对象绑定到数组或者变量指针。auto_ptr对象的复制和赋值是破坏性操作:将对象的全部权从右操作数转到左操作数。对auto_ptr 对象进行赋值删除左操作数中的对象,因此。不能将auto_ptrs 对象存储在容器中。
catch-all(捕获全部异常子句)
异常说明符为(...)的 catch 子句。这样的子句可以捕获随意类型的异常,它通经常使用于捕获为进行局部清除而局部检測的异常。异常被又一次抛出给程序的其它部分,以处理问题的基本原因。
catch clause(catch 子句)
程序中处理异常的部分,也称异常处理代码。
catch子句由keywordcatch 后接异常说明符和语句块构成。catch内部的代码完毕的必要工作来处理由异常说明符定义的类型的异常。
constructor order(构造函数次序)
一般而言,应该依照类派生列表中指定的次序构造基类,派生类构造函数应该通过构造函数初始化列表显式初始化每一个基类。构造函数初始化列表中指定基类的次序不影响构造基类的次序。
在虚继承中。虚基类在不论什么其它基类之前构造,它们依照在派生类型的派生列表中(直接或间接地)出如今次序进行构造。仅仅有最低层派生类型能够初始化虚基类,中间基类中出现的基类构造函数初始化列表被忽略。
destructor order(析构函数次序)
应该依照构造次序的逆序撤销派生类对象——首先撤销派生部分,然后,从最后一个基类開始,撤销类派生列表中指定的类。在多重继承层次中作为基类的类通常应该将它们的析构函数数定义为虚函数。
exception handler(异常处理代码)
catch 子句的还有一个名称。
exception handling(异常处理)
管理执行时异常的语言级支持。
代码中一个独立开发的部分能够检測并“引发”异常,由程序中还有一个独立开发的部分“处理”该异常。
也就是说,程序的错误检測部分抛出异常。错误处理部分在try 块的catch 子句中处理异常。
exception object(异常对象)
用于在异常的throw 和catch 方之间进行通信的对象。在抛出点创建该对象。该对象是被抛出表达式的副本。异常对象一直存在,直到该异常最后一个处理代码结束。异常对象的类型是被抛出表达式的类型。
exception safe(异常安全的)
用于描写叙述在抛出异常时表现正确的程序的术语。
exceptionspecification(异常说明)
用于函数声明之上,指出函数抛出什么(假设有)异常类型。在用圆括号括住、以逗号分隔、跟在keywordthrow 之后的列表中指定异常类型。空列表表示函数不抛出异常,没有异常说明的函数能够抛出不论什么异常。
exception specifier(异常说明符)
说明给定catch 子句将处理的异常的炻。
异常说明符的行为形參表,由异常对象初始化它的单个形參。像參数传递一样,假设异常说明符是非引用类型,就将异常对象拷贝到catch 中。
file static(文件静态)
用keywordstatic 声明的局部于文件的名字。在C 语言和标准版本号之前的C++ 中,文件里的静态声明用于声明仅仅能在单个文件里使用的对象,C++不赞成文件静态,已经用未命名的命名空间取代它。
function try block(函数測试块)
是函数体的try 块。
keywordtry 出如今函数体的左花括号之前,以出如今函数体的右花括号之后的catch 子句作为结束。
函数測试块最经经常使用于包围构造函数定义,以便捕获由构造函数初始化式抛出的异常。
global namespace(全局命名空间)
每一个程序中保存全部全局定义的(隐式)命名空间。
multiple inheritance(多重继承)
类有多个直接基类的继承。派生类继承全部基类的成员,通过在类派生列表中指定多个基类而定义多个基类。每一个基类须要一个单独的訪问标号。
namespace(命名空间)
将一个库或其它程序集合定义的全部名字聚焦到单个作用域的机制。与 C++ 中其它作用域不同,命名空间作用域能够在几个部分中定义,在程序的不同部分,命名空间能够是打开的、关闭的和又一次打开的。
namespace alias(命名空间别名)
为给定命名空间定义同义词的机制。
namespace N1 = N;
将N1 定义为名为N 的命名空间的还有一名字。一个命名空间能够有多个别名,而且命名空间名字和它的别名能够互换使用。
namespace pollution(命名空间污染)
用来描写叙述类和函数的全部名字放在全局命名空间时发生什么情况的术语。假设名字是全局的。则使用由多个独立团队编写的代码的大程序常常遇到名字冲突。
raise(引发)
经经常使用作抛出的同义词。
C++程序猿互换地使用“抛出”异常或“引发”异常。
rethrow(又一次抛出)
一个空的throw——没有指定throw。仅仅有捕获子句或者从catch 直接或间接调用的函数中的又一次抛出才有效,其效果是将接到的异常对象又一次抛出。
scope operator(作用域操作符)
用于訪问命名空间或类中名字的操作符。
stack unwinding(栈展开)
用于描写叙述在查找catch 时退出引起被抛出异常的函数的过程。在进入对应catch 之前。撤销在异常之前构造的局部对象。
terminate
一个库函数。假设没有捕获到异常或者在异常处理过程中发生异常,就调用这个库函数。该函数通常调用abort 函数来结束程序。
throw e
中断当前运行路径的表达式。每一个throw 将控制转到能够处理被抛出异常类型的近期的外围 catch 子句,表达式e 被拷贝到异常对象。
try block(測试块)
由keywordtry 以及一个或多个try 子句包围的语句块。假设try 块内部的代码引发一个异常,而一个catch 子句与异常的类型匹配。则由该 catch 处理异常。否则。将异常传出try 之外,传给调用链中更上层的 catch。
unexpected
一个库函数,假设被抛出异常违反函数的异常说明,就调用该函数。
unnamed namespace(未命名的命名空间)
未定义名字的命名空间。
未命名的命名空间中定义的名字能够无须使用作用域操作符而直接訪问。每一个文件都具有自己的未命名的命名空间,文件里的名字在该文件之外不可见。
using declaration(using 声明)
将命名空间中单个名字注入当前作用域的机制。
using std::cout;
使得命名空间std 中的名字cout 在当前作用域中可见。能够无须限定符std:: 而使用名字cout。
using directive(using 指示)
使一个命名空间中的全部名字在using 指示和命名空间本身的近期作用域中可见的机制。
virtual base class(虚基类)
使用keywordvirtual 继承的基类。即使同一类在层次中作为虚基类出现多次,派生类对象中的虚基类部分也仅仅出现一次。在非虚继承中。构造函数仅仅能初始化自己的直接基类,当对一个类进行虚继承的时候,由最低层的派生类初始化那个类。因此最低层的派生类应包括用于其全部虚父类的初始化式。
virtual inheritance(虚继承)
多重继承的形式,这样的形哪里,派生类被包括在分层共享的基类多次的副本。
版权声明:本文博客原创文章。博客,未经同意,不得转载。