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

class template(类模板)

可以用来定义一组特定类型的类的类定义。类模板用template 关键字后接用尖括号(<>)括住、以逗号分隔的一个或多个形参的列表来定义。

export keyword(导出关键字)

用来指出编译器必须记住相关模板定义位置的关键字,支持模板实例化的分别编译模型的编译器使用它。export关键字一般与函数定义一起出现,类通常在相关类实现文件中声明为export。在一个程序中,一个模板只能用export 关键字定义一次。

function template(函数模板)

可用于不同类型的函数的定义。函数模板用template 关键字后接用尖括号(<>)括住、以逗号分隔的一个或多个形参的列表来定义。

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子句由关键字catch 后接异常说明符和语句块构成。catch内部的代码完成的必要工作来处理由异常说明符定义的类型的异常。

constructor order(构造函数次序)

一般而言,应该按照类派生列表中指定的次序构造基类,派生类构造函数应该通过构造函数初始化列表显式初始化每个基类。构造函数初始化列表中指定基类的次序不影响构造基类的次序。在虚继承中,虚基类在任何其他基类之前构造,它们按照在派生类型的派生列表中(直接或间接地)出现在次序进行构造,只有最低层派生类型可以初始化虚基类,中间基类中出现的基类构造函数初始化列表被忽略。

destructor order(析构函数次序)

应该按照构造次序的逆序撤销派生类对象——首先撤销派生部分,然后,从最后一个基类开始,撤销类派生列表中指定的类。在多重继承层次中作为基类的类通常应该将它们的析构函数数定义为虚函数。

exception handler(异常处理代码)

catch 子句的另一个名称。

exception handling(异常处理)

管理运行时异常的语言级支持。代码中一个独立开发的部分可以检测并“引发”异常,由程序中另一个独立开发的部分“处理”该异常。也就是说,程序的错误检测部分抛出异常,错误处理部分在try 块的catch 子句中处理异常。

exception object(异常对象)

用于在异常的throw 和catch 方之间进行通信的对象。在抛出点创建该对象,该对象是被抛出表达式的副本。异常对象一直存在,直到该异常最后一个处理代码结束。异常对象的类型是被抛出表达式的类型。

exception safe(异常安全的)

用于描述在抛出异常时表现正确的程序的术语。

exceptionspecification(异常说明)

用于函数声明之上,指出函数抛出什么(如果有)异常类型。在用圆括号括住、以逗号分隔、跟在关键字throw 之后的列表中指定异常类型。空列表表示函数不抛出异常,没有异常说明的函数可以抛出任何异常。

exception specifier(异常说明符)

说明给定catch 子句将处理的异常的炻。异常说明符的行为形参表,由异常对象初始化它的单个形参。像参数传递一样,如果异常说明符是非引用类型,就将异常对象复制到catch 中。

file static(文件静态)

用关键字static 声明的局部于文件的名字。在C 语言和标准版本之前的C++ 中,文件中的静态声明用于声明只能在单个文件中使用的对象,C++不赞成文件静态,已经用未命名的命名空间代替它。

function try block(函数测试块)

是函数体的try 块。关键字try 出现在函数体的左花括号之前,以出现在函数体的右花括号之后的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(测试块)

由关键字try 以及一个或多个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(虚基类)

使用关键字virtual 继承的基类。即使同一类在层次中作为虚基类出现多次,派生类对象中的虚基类部分也只出现一次。在非虚继承中,构造函数只能初始化自己的直接基类,当对一个类进行虚继承的时候,由最低层的派生类初始化那个类,因此最低层的派生类应包含用于其所有虚父类的初始化式。

virtual inheritance(虚继承)

多重继承的形式,这种形式中,派生类共享在层次中被包含多次的基类的一个副本。

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

时间: 2024-10-10 11:21:44

C++中出现的计算机术语5的相关文章

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

adaptor(适配器) 一种标准库类型.函数或迭代器,使某种标准库类型.函数或迭代器的行为类似于另外一种标准库类型.函数或迭代器.系统提供了三种顺序容器适配器:stack(栈).queue(队列)以及priority_queue(优先级队列).所有的适配器都会在其基础顺序容器上定义一个新接口. begin(begin 操作) 一种容器操作.如果容器中有元素,该操作返回指向容器中第一个元素的迭代器:如果容器为空,则返回超出末端迭代器. container(容器) 一种存储给定类型对象集合的类型.

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

ambiguous call(有二义性的调用) 一种编译错误,当调用重载函数,找不到唯一的最佳匹配时产生. arguments(实参) 调用函数时提供的值.这些值用于初始化相应的形参,其方式类似于初始 化同类型变量的方法. automatic objects(自动对象) 局部于函数的对象.自动对象会在每一次函数调用时重新创建和初始化,并在定义它的函数块结束时撤销.一旦函数执行完毕,这些对象就不再存在了. best match(最佳匹配) 在重载函数集合里找到的与给定调用的实参达到最佳匹配的唯一函

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

access labels(访问标号) 类的成员可以定义为 private,这能够防止使用该类型的代码访问该成员.成员还可以定义为 public,这将使该整个程序中都可访问成员. address(地址) 一个数字,通过该数字可在存储器上找到一个字节. arithmetic types(算术类型) 表示数值即整数和浮点数的类型.浮点型值有三种类型:long double .double和float,分别表示扩展精度值.双精度值和单精度值.一般总是使用 double 型.特别地,float只能保证六

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

C-style strings(C 风格字符串) C 程序把指向以空字符结束的字符数组的指针视为字符串.在 C++ 中,字符串字面值就是 C 风格字符串.C 标准库定义了一系列处理这种字符串的库函数,C++ 中将这些标准库函数放在cstring 头文件中.由于 C 风格字符串本质上容易出错,C++程序应该优先使用 C++ 标准库类 string 而少用 C 风格字符串.网络程序中大量的安全漏洞都源于与使用 C 风格字符串和数组相关的缺陷. compiler extension(编译器扩展)  特

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

access labels(訪问标号) 类的成员能够定义为 private,这能够防止使用该类型的代码訪问该成员. 成员还能够定义为 public,这将使该整个程序中都可訪问成员. address(地址) 一个数字,通过该数字可在存储器上找到一个字节. arithmetic types(算术类型) 表示数值即整数和浮点数的类型.浮点型值有三种类型:long double .double和float,分别表示扩展精度值.双精度值和单精度值. 一般总是使用 double 型. 特别地.float仅仅

现代软件工程—构建之法》第一章 中出现的计算机专业术语

现代软件工程-构建之法>第一章 中出现的计算机专业术语 1.软件 2.程序 3.软件工程 4.二叉树 5.遍历算法 6.数据结构 7.算法 8.应用软件 9.软件服务 10.源程序 11.软件架构 12.软件设计与实现 13.依赖关系 14.编译参数 15.链接参数 16.构建 17.源代码管理 18.配置管理 19.质量保证 20.软件测试 21.需求分析 22.程序理解 23.软件维护 24.服务运营 25.软件的生命周期 26.软件项目的管理 27.用户体验 28.国际化和本地化 29.A

那些困扰我的计算机术语

本文罗列了一些计算机术语,由于中文翻译的问题,曾经留给我无尽的误导和迷茫.(不定期补充中,欢迎留言指正) 1.面向对象 Object Oriented 面向是"面对着"."面朝着"的意思,中文里常听到"面向全国各地招商".第一次听到"面向对象",搞不好联想的是"面朝大海.春暖花开"之类. 这是最困扰的词之首,直到最近对OO有了更深刻的理解才有所好转. 在这个词组里,oriented有"奉行...&

【转自知乎,只为分享】计算机术语那些逆天的翻译!!

Windows 的 file handle 为什么译为「文件句柄」?和「句」有什么关系? file handle 之类的翻译做「文件句柄」,完全就是乱来.handle 就是「把手」,什么门的把手.锅的把手.锤子的把手都是handle,可以理解为用来方便控制某个东西的东西.所以file handle是用来控制file的东西.要控制哪个object就用哪个handle.参考翻译:操作符或者把儿. return value翻译成返回值更是不着边际,也许你我很快能把它跟左上角对应起来,但是对于零基础学习

利用SCCM2012中的导入计算机功能来实现定制化的操作系统部署

前言 在我们通过MDT工具或SCCM系统给客户机部属操作系统时, 常遇到各种各样的需求.有些需求很容易实现, 如自动加域,格式化硬盘,预置管理员密码等.有些功能可能就稍微麻烦一些. 比如,在部署操作系统时, 要求客户能自定义输入计算机名称. 这个要求在MDT的环境下, 很容易实现,但是在SCCM的环境下, 就需要做额外的设置和脚本等, 可以做到在系统部署时提示客户输入计算机名. 通过SCCM和MDT的集成, 也能很好的解决这个问题. 客户需求: 现有一个情景,客户是使用的SCCM2012,管理的