Oracle Solaris Studio 12.2:C++ 用户指南

术语表

ABI

请参见 Application Binary Interface(应用程序二进制接口)。

abstract class(抽象类)

包含一个或多个抽象方法并因此不能被实例化的类。定义抽象类的目的是为了通过实现抽象方法,使其他类可以扩展抽象类并使其固定。

abstract method(抽象方法)

不包含实现的方法。

ANSI C

美国国家标准学会定义的 C 编程语言。ANSI C 与 ISO 定义相同。请参见 ISO。

ANSI/ISO C++

美国国家标准学会和 ISO C++ 编程语言标准。请参见 ISO。

application binary interface(应用程序二进制接口)

编译的应用程序和运行应用程序的操作系统之间的二进制系统接口。

array(数组)

内存中连续存储一组单一数据类型值的数据结构。每个值可以按在数组中的位置访问。

base class(基类)

请参见 inheritance(继承)

binary compatibility(二进制兼容性)

链接目标文件的能力,目标文件由某一个发行版本编译,而使用另一个不同发行版本的编译器。

binding(绑定)

将函数调用与特定函数定义关联。更一般的说来,将名称与特定的实体关联。

cfront

C++ 到 C 的编译器程序,可以将 C++ 转换为 C 源代码,然后用标准 C 编译器编译。

class template(类模板)

描述一组类或相关数据类型的模板。

class variable(类变量)

作为一个整体与特定类关联但与类的特定实例不关联的数据项。类变量在类定义中定义。类变量也称为静态字段。另请参见 instance variable(实例变量)。

class(类)

由命名的数据元素(可以是不同类型的数据元素)和可以和数据一起执行的一组操作组成的用户定义数据类型。

compiler option(编译器选项)

更改编译器行为的指令。例如,-g 选项表示通知编译器为调试器生成数据。同义字:标志开关

constructor(构造函数)

每当创建类对象时编译器都会自动调用的特殊类成员函数,用于确保初始化相应对象的实例变量。构造函数必须始终具有与该函数所属的类相同的名称。请参见 destructor(析构函数)。

data member(数据成员)

数据而不是函数或类型定义的类元素。

data type(数据类型)

允许表示诸如字符、整数或浮点数等的机制。类型决定了分配到变量的存储以及能在变量上执行的操作。

derived class(派生类)

请参见 inheritance(继承)

destructor(析构函数)

每当销毁类对象或对类指针应用运算符 delete 时编译器都会自动调用的特殊类成员函数。析构函数必须始终具有与该函数所属的类相同的名称,该类前有一个 (~)。请参见 constructor(构造函数)

dynamic binding(动态绑定)

在运行时函数调用到函数体的连接。有虚函数时才需动态绑定。也称为迟绑定、运行时绑定

dynamic cast(动态强制类型转换)

将指针或引用从声明的类型转换到与引用到的动态类型一致的任何类型的安全方法。

dynamic type(动态类型)

由具有不同声明类型的指针或引用访问的对象的实际类型。

early binding(早绑定)

请参见 static binding(静态绑定)。

ELF file(ELF 文件)

编译器生成的可执行和链接格式文件。

exception handler(异常处理程序)

用于处理错误而专门编写的代码,以及异常发生时为已注册的处理程序自动调用的代码。

exception handling(异常处理)

设计用于截取并防止错误的错误恢复过程。在程序执行期间,如果检测到同步错误,那么程序的控制返回到在执行初期注册的异常处理程序,并且忽略包含错误的代码。

exception(异常)

在正常的程序流中出现的错误,阻止程序继续运行。某些错误的原因包括了内存枯竭或被零除。

flag(标志)

请参见 compiler option(编译器选项)。

function overloading(函数重载)

将相同的名称但不同的参数类型和数字赋予不同的函数。也称为函数多态

function prototype(函数原型)

描述函数与程序其他部分之间的接口的声明。

function template(函数模板)

允许编写可以稍后用作模型或模式的单一函数(用于编写相关函数)的机制。

functional polymorphism(函数多态)

请参见 function overloading(函数重载)。

idempotent(幂等)

头文件属性,在一个转换单元中包括多次与包括一次具有相同效果。

incremental linker(增量链接程序)

通过仅将更改后的 .o 文件链接到前一个可执行文件来创建新的可执行文件的链接程序。

inheritance(继承)

面向对象编程的一个功能,使得程序员可以从现有类(基类)派生新的类(派生类)。有以下三种继承:公共的、受保护的和专用的。

inline function(内联函数)

用实际函数代码替换函数调用的函数。

instance variable(实例变量)

与特定对象关联的任何数据项。类的每个实例具有在类中定义的实例变量的自身副本。实例变量也称为字段。另请参见 class variable(类变量)。

instantiation(实例化)

C++ 编译器从模板创建可用的函数或对象的过程。

ISO

国际标准化组织。

K&R C

Brian Kernighan 和 Dennis Ritchie 在 ANSI C 之前开发的实际上的 C 编程语言标准。

keyword(关键字)

在编程语言中具有唯一含义,并且仅在该语言的专用上下文中使用的字。

late binding(迟绑定)

请参见 dynamic binding(动态绑定)。

linker(链接程序)

连接目标代码和库以形成完整的可执行程序的工具。

local variable(局部变量)

在块内已知的数据项,但块外代码不可访问。例如,在方法内定义的任何变量都是局部变量,在方法外部无法使用。

locale(语言环境)

地理位置和/或语言唯一的一组约定,例如日期、时间和货币格式。

lvalue(左值)

指定变量数据值在内存中的存储位置的表达式。即显示在赋值运算符左侧的变量实例。

mangle(损坏)

请参见 name mangling(名称损坏)。

member function(成员函数)

是函数而非数据定义或类型定义的类元素。

method(方法)

在某些面向对象的语言中,成员函数的另外一个名称。

multiple inheritance(多继承)

直接源于多个基类的派生类的继承。

multithreading(多线程)

在单处理器或多处理器系统上开发并行应用程序的软件技术。

name mangling(名称损坏)

在 C++ 中,大量函数可以共享相同的名称,因此仅用名称并不能很好的区分不同的函数。编译器通过名称损坏解决这个问题-为函数创建由函数名称及其参数的某些组合组成的唯一名称-从而实现类型安全的链接。也称为名称修饰

namespace(名称空间)

控制全局名称的作用域的机制,做法是允许全局空间划分为独立的唯一命名的作用域。

operator overloading(运算符重载)

使用同一运算符表示法产生不同结果的能力。函数重载的特殊形式。

optimization(优化)

改善编译器生成的目标代码执行效率的过程。

option(选项)

请参见 compiler option(编译器选项)。

overloading(重载)

将相同的名称赋予多个函数或运算符。

polymorphism(多态性)

引用到对象的指针或引用的动态类型与声明的指针或引用类型不同的能力。

pragma

指示编译器执行特定操作的编译器预处理程序指令或特殊的注释。

runtime binding(运行时绑定)

请参见 dynamic binding(动态绑定)。

runtime type identification(运行时类型标识)

提供标准方法以让程序在运行时决定对象类型的机制。

rvalue(右值)

位于赋值运算符右侧的变量。右值可以读取而不能被更改。

scope(作用域)

操作或定义应用的范围。

stab

在目标代码中生成的符号表条目。在 a.out 文件和 ELF 文件中使用相同的格式来包含调试信息。

stack(块)

数据存储方法,通过该方法数据可以增加到栈顶部或从栈顶部删除数据,采用的是后进先出策略。

static binding(静态绑定)

在编译期间函数调用到函数体的连接。也称为 early binding(早绑定)

subroutine(子例程)

函数。在 Fortran 中,子例程是不返回值的函数。

switch(开关)

请参见 compiler option(编译器选项)。

symbol table(符号表)

程序编译时显示的所有标识符、程序中标识符的位置和属性的列表。编译器使用该表来解释标识符的使用。

symbol(符号)

表示某些程序实体的名称或标签。

template database(模板数据库)

包含需要处理并实例化模板(程序需要)的所有配置文件的目录。

template options file(模板选项文件)

由用户提供的文件,其中包含模板编译选项、源码位置和其他信息。模板选项文件现在已过时,不应该使用。

template specialization(模板专门化)

类模板成员函数的专用实例,用于缺省不能处理给出的足够类型时覆盖缺省实例。

trapping(陷阱操作)

为了执行其他操作,而对诸如程序执行等操作的截获。截获引起微处理器操作的临时中止,并将程序控制转交给另一个源。

type(类型)

使用符号方法的描述。基本类型包括 integerfloat。所有其他类型都是从这些基本类型构造的,构造方法有:将基本类型收集到数组或结构中,或增加诸如指针或常量属性等的修饰符。

variable(变量)

标识符命名的数据项。每个变量都有类型(如 intvoid)和作用域。另请参见 class variable(类变量)、instance variable(实例变量)、local variable(局部变量)。

VTABLE(虚拟表)

编译器为包含虚函数的每个类创建的表。