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(虚继承)

多重继承的形式,这样的形哪里,派生类被包括在分层共享的基类多次的副本。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

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

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

    C-style strings(C 风格字符串) C 程序把指向以空字符结束的字符数组的指针视为字符串.在 C++ 中,字符串字面值就是 C 风格字符串.C 标准库定义了一系列处理这样的字符串的库函数 ...

  2. 计算机术语install和setup的区别

    作为安装程序的Setup文件是软件的开发者专门为其软件设计的.exe文件,是当前最为盛行的安装程序.在运行该Setup文件进行软件安装时,Setup除了进行复制.改名.解压和目录维护等基本安装工作外, ...

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

    access labels(訪问标号) 类的成员能够定义为 private,这能够防止使用该类型的代码訪问该成员. 成员还能够定义为 public,这将使该整个程序中都可訪问成员.  address( ...

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

    adaptor(适配器) 一种标准库类型.函数或迭代器,使某种标准库类型.函数或迭代器的行为类似于第二种标准库类型.函数或迭代器.系统提供了三种顺序容器适配器:stack(栈).queue(队列)以及 ...

  5. 转职成为TypeScript程序员的参考手册

    写在前面 作者并没有任何可以作为背书的履历来证明自己写作这份手册的分量. 其内容大都来自于TypeScript官方资料或者搜索引擎获得,期间掺杂少量作者的私见,并会标明. 大部分内容来自于http:/ ...

  6. JavaScript面向对象

    理解对象 对象这个词如雷贯耳,同样出名的一句话:XXX语言中一切皆为对象! 对象究竟是什么?什么叫面向对象编程? 对象(object),台湾译作物件,是面向对象(Object Oriented)中的术 ...

  7. HTML 学习笔记 JavaScript(面向对象)

    现在让我们继续跟着大神的脚步前进 学习一下JavaScript中的面向对象的思想,其实作为一个iOS开发者,对面向对象还是比较熟悉的,但是昨晚看了一下Js中的面向对象,妈蛋 一脸萌比啊.还好有大神.让 ...

  8. JavaScript系列文章:变量提升和函数提升

    第一篇文章中提到了变量的提升,所以今天就来介绍一下变量提升和函数提升.这个知识点可谓是老生常谈了,不过其中有些细节方面博主很想借此机会,好好总结一下. 今天主要介绍以下几点: 1. 变量提升 2. 函 ...

  9. 本周进步要点20161023(含李笑来第二场live笔记要点)

    本周主要忙于去武汉参加iDOF2016智能数字油田会议,会上做了题为“油田SOA及云平台的系统思考与实践”的报告,为了准备这篇报告,用到了一些以前学过的知识,具体内容见“参加iDOF2016会议的收获 ...

随机推荐

  1. Lucene.Net 2.3.1开发介绍 —— 二、分词(四)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(四) 2.1.2 可以使用的内置分词 简单的分词方式并不能满足需求.前文说过Lucene.Net内置分词中StandardAnalyze ...

  2. mysql update改动多条数据

    通常情况下,我们会使用下面SQL语句来更新字段值: 复制代码代码例如以下: UPDATE mytable SET myfield='value' WHERE other_field='other_va ...

  3. 与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏

    原文:与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏 [索引页][源码下载] 与众不同 wind ...

  4. 14.3.2.3 Consistent Nonlocking Reads 一致性非锁定读

    14.3.2.3 Consistent Nonlocking Reads 一致性非锁定读 一致性读 意味着 InnoDB 使用多版本来保护查询一个数据库在当前时间点的快照. 查询看到被事务做出的修改, ...

  5. Practical Common Lisp

    Practical Common Lisp Practical Common Lisp

  6. 在Ubuntu Desktop打开终端的2种方式

    共有3中方法: 1.在Ubuntu左上角选择File/Open in Terminal 2.快捷键alt+F2调出Run a Command,输入gnome-terminal 添加右键支持 在终端,输 ...

  7. GitLab 5.3 升级注意事项

    最主要就是需要更新的Git.我的Ubuntu12.04通过apt-get install安装的git版本过低. 所以只能通过源代码安装. 参考下面的步骤: wget git-core.googleco ...

  8. EA强大功能之代码凝视

    前面讲了EA怎样方便我们生成代码,这次讲一下,怎样生成具体的凝视. 1.文件表头凝视 (1)点击工具----选项 在常规项里改动作者: 在代码project中改动代码project的默认语言. (2) ...

  9. 解决windows下的mysql匿名登陆无法使用mysql数据库的问题

    原文:解决windows下的mysql匿名登陆无法使用mysql数据库的问题 我在windows下安装了mysql,但是不用密码就能登进去,而root明明是有密码的,我用select user()命令 ...

  10. selenium webdriver缺陷

    关闭  selenium webdriver缺陷 除了http://573301735.com/?p=5126讲 的,昨天又发现一个让我1个小时生不如死的问题,就是使用两个不同的配置文件来初始化dri ...