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(合成的默认构造函数)

编译器为未定义不论什么构造函数的类创建(合成)的构造函数。这个构造函数通过执行该类的默认构造函数来初始化类类型的成员,内置类型的成员不进行初始化。

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

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

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

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

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

  3. Java中的那些名词术语(不断更新中)

    在工作和学习中,总会遇到各种术语.岁月不饶人,记忆力越来越下降.在这里记录下那些曾经关注过学习过的东西. POJO: Plain Old Java Object DI: Dependency Inje ...

  4. C++出现计算机术语5

    class template(类模板) 可以用来定义一个类定义了一组特定类型的类的.类模板template keyword其次是尖括号(<>)附上.的列表来定义. export keywo ...

  5. ES6中ArrayBuffer与计算机字节序

    1.什么事字节序? 字节序指的是数值在内存中的表示方式. const buffer = new ArrayBuffer(16); const int32View = new Int32Array(bu ...

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

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

  7. HLA中常用的基本术语

    (1)联邦(Federation):用于实现某一特定仿真目的的分布仿真系统. (2)联邦成员(Federate):参与联邦的所有应用都称为联邦成员,简称成员. (3)对象(Object):构成成员的基 ...

  8. .NET框架中系列专业技术术语和缩写

    CIL (Common Intermediate Language) 公共中间语言 : CIL最初是随着.NET由微软一起发布的,之前也叫MSIL(Microsoft Intermediate Lan ...

  9. 【Java面试宝典】说说你对 Spring 的理解,非单例注入的原理?它的生命周期?循环注入的原理, aop 的实现原理,说说 aop 中的几个术语,它们是怎么相互工作的?

    AOP与IOC的概念(即spring的核心) IOC:Spring是开源框架,使用框架可以使我们减少工作量,提高工作效率并且它是分层结构,即相对应的层处理对应的业务逻辑,减少代码的耦合度.而sprin ...

随机推荐

  1. 《Programming Hive》读书笔记(一)Hadoop和hive环境搭建

    <Programming Hive>读书笔记(一)Hadoop和Hive环境搭建             先把主要的技术和工具学好,才干更高效地思考和工作.   Chapter 1.Int ...

  2. Android学习路线(十一)管理Activity的生命周期

    当一个用户进入.退出,再次进入你的应用时,你的应用中的Activity 会在它的生命周期的各个状态下切换. 比如,当你的activity第一次启动.它出如今系统的前方接受用户的焦点.在这个过程中,An ...

  3. MVC 定义JsonpResult实现跨域请求

    MVC 定义JsonpResult实现跨域请求 1:原理 在js中,XMLHttpRequest是不能请求不同域的数据,但是script标签却可以,所以可以用script标签实现跨域请求.具体是定义一 ...

  4. (大数据工程师学习路径)第二步 Vim编辑器----Vim文档编辑

    一.vim重复命令 1.重复执行上次命令 在普通模式下.(小数点)表示重复上一次的命令操作 拷贝测试文件到本地目录 $ cp /etc/protocols . 打开文件进行编辑 $ vim proto ...

  5. http://blog.jobbole.com/50603/#comment-153933

    http://blog.jobbole.com/50603/#comment-153933

  6. 自定义Data Service Providers

    自定义Data Service Providers 作者:AlexJ 翻译:谈少民 原文链接:http://blogs.msdn.com/b/alexj/archive/2010/01/07/data ...

  7. C# 带用户密码访问网络共享

    原文:C# 带用户密码访问网络共享 调用WNetUseConnection API 函数详细参数参考:https://msdn.microsoft.com/en-us/library/windows/ ...

  8. HDU4828 Grids 2014百度之星预赛问题解决

    看看Catalan数的公式:为 Catalan(n) = C(2n, n) / n+1 = C(2n, n) - C(2n, n-1); (公式0) 然后利用全排序表达:Catalan(n) = (2 ...

  9. Git批量删除

    Git批量删除 git的改动都需要stage过程后才能commit.当git中有大量改动时就需要能够批量操作在方便.改动分三种: modify: 有文件修改 add: 有文件增加 rm: 有文件删除 ...

  10. 14行脚本配置Linux下一个Java环境变量

    供Java人们刚开始学习.多半Java它需要花费大量的精力在开发环境的配置,于Linux下一个,构造Java环境变量,很可能加入这一努力. 为此,我做了一个bash脚本来配置自己主动Java环境变量. ...