C++名词解释.docx

上传人:b****6 文档编号:9183345 上传时间:2023-02-03 格式:DOCX 页数:18 大小:24.53KB
下载 相关 举报
C++名词解释.docx_第1页
第1页 / 共18页
C++名词解释.docx_第2页
第2页 / 共18页
C++名词解释.docx_第3页
第3页 / 共18页
C++名词解释.docx_第4页
第4页 / 共18页
C++名词解释.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C++名词解释.docx

《C++名词解释.docx》由会员分享,可在线阅读,更多相关《C++名词解释.docx(18页珍藏版)》请在冰豆网上搜索。

C++名词解释.docx

C++名词解释

1.保留字reservedword

  C++中,保留字也称关键字,它是预先定义好的标识符。

见关键字的解释。

2.关键字keyword

  C++中已经被系统定义为特殊含义的一类标识符。

C++中的关键字有:

auto    double    int    struct    break    else

long    switch    case    enum    register    typedef

char    extern    return    union    const    float

short    unsigned    continue    for    signed    void

default    goto    sizeof    volatile    do    if

static    while    asm    _cs    _ds    _es

_ss    cdecl    far    huge    interrupt    near

pascal    class    public    private    catch    protected

delete    new    template    friend    this    inline

throw    try    operator    virtual    overload(现不用)

3.标识符identifier

  对变量、函数、标号和其它各种用户自定义对象的命名。

在C++中,标识符长度没有限制,第一个字符必须是字母或下划线,其后若有字符则必须为字母、数字或下划线。

例如count2,_x是正确的标识符形式,而hello!

,3th则是错误的。

在C++中标识符区分大小写,另外标识符不能和C++中的关键字相同,也不能和函数同名。

4.声明declaration

  将一个标识符引入一个作用域,此标识符必须指明类型,如果同时指定了它所代表的实体,则声明也是定义。

5.定义definition

  给所声明的标识符指定所代表的实体。

6.变量variable

  某个作用域范围内的命名对象。

7.常量constant

  常量是不接受程序修改的固定值,可以是任意数据类型。

可以用后缀准确的描述所期望的常量类型,如浮点类型常量在数字后加F,无符号整型常量加后缀U等等。

此外还有串常量如"Pleaseinputyear:

",反斜线字符常量如\n表示回车符。

8.const说明符

const是在变量声明或函数声明时所用到的一个修饰符,用它所修饰的实体具有只读属性。

11.流stream

  流是既产生信息又消费信息的逻辑设备,通过C++系统和物理设备关联。

C++的I/O系统是通过流操作的。

有两种类型的流:

文本流,二进制流。

12.标准输入输出库standardiolibrary

  它是C++标准库的组成部分,为C++语言提供了输入输出的能力。

13.内置数据类型built-indatatype

  由C++直接提供的类型,包括int、float、double、char、bool、指针、数组和引用。

14.字符类型charactertype

  包括char、signedchar、unsignedchar三种类型。

15.整数类型integertype

  包括short、int、long三种类型。

  只能修饰int,double.

  longint指一种整数类型,它的长度大于等于int型.

  longdouble指长双精度类型,长度大于等于double型。

 

  一种长度少于或等于int型的整数类型。

  由它所修饰的类型是带符号的.只能修饰int和char.

19.布尔型bool

  一种数据类型,其值可为:

true,false两种。

20.浮点类型floating-pointtype

  包括float,double,longdouble三种类型。

其典型特征表现为有尾数或指数。

21.双精度类型double

  浮点类型中的一种。

在基本数据类型中它是精度最高,表示范围最大的一种数据类型。

类型

  关键字之一,指示没有返回信息。

23.结构类型struct

  类的一种,其成员默认为public型。

大多用作无成员函数的数据结构。

24.枚举类型enumeration

  一种用户自定义类型,由用户定义的值的集合组成。

25.类型转换typeconversion

  一种数据类型转换为另一种,包括显式,隐式两种方式。

26.指针indicator(pointer)

  一个保存地址或0的对象。

 

27.函数指针functionpointer

  每个函数都有地址,指向函数地址的指针称为函数指针,函数指针指向代码区中的某个函数,通过函数指针可以调用相应的函数。

其定义形式为:

  int(*func)(chara,charb);

28.引用reference

  为一个对象或函数提供的另一个名字。

29.链表chaintable

  一种数据结构,由一个个有序的结点组成,每个结点都是相同类型的结构,每个结点都有一个指针成员指向下一个结点。

30.数组array

  数组是一个由若干同类型变量组成的集合。

31.字符串characterstring

  标准库中的一种数据类型,一些常用操作符如+=,==支持其操作。

运算符

32.运算符operator

  内置的操作常用符号,例如+,*,&等。

33.单目运算符unaryoperator

  只能对一个操作数进行操作

34.双目运算符binaryoperator

  可对两个操作数进行操作

35.三目运算符ternaryoperator

  可对三个操作数进行操作 

36.算术运算符Arithmeticoperator

  执行算术操作的运算符,包括:

+,-,*,/,%。

37.条件运算符conditionaloperators

  即":

"。

  其语法为:

  (条件表达式)(条件为真时的表达式):

(条件为假时的表达式)

  如:

x=a

b;

  相当于:

  if(a

  x=a;

  else

  x=b; 

38.赋值运算符Assignmentoperator

  即:

"="及其扩展赋值运算符

39.左值l-value

  能出现在赋值表达式左边的表达式。

40.右值r-value

  能出现在赋值表达式右边的表达式。

41.运算符的结合性operatorassociativity

  指表达式中出现同等优先级的操作符时该先做哪个的规定。

42.位运算符bitoperator

  "&","|","^",">>","<<"

43.逗号运算符Commaoperator

  即","

44.逻辑运算符logicaloperator

  "&&","||","!

"

45.关系运算符relationaloperator

  ">",">=","<=","<","<=","=="

运算符

  对象创建的操作符。

运算符

  对象释放操作符,触发析构函数。

48.内存泄露memoryleak

  操作堆内存时,如果分配了内存,就有责任回收它,否则这块内存就无法重新使用,称为内存泄漏。

运算符

  获得对象在内存中的长度,以字节为单位。

表达式

50.表达式expression

  由操作符和标识符组合而成,产生一个新的值。

51.算术表达式arithmeticexpression

  用算术运算符和括号将运算对象(也称操作数)连接起来,符合C++语法规则的式子。

52.关系表达式relationalexpression

  用关系运算符和括号将运算对象(也称操作数)连接起来,符合C++语法规则的式子。

53.逻辑表达式logicalexpression

  用逻辑运算符和括号将运算对象(也称操作数)连接起来,符合C++语法规则的式子。

54.赋值表达式assignmentexpression

  由赋值运算符将一个变量和一个表达式连接起来,符合C++语法规则的式子。

55.逗号表达式commaexpression

  由逗号操作符将几个表达式连接起来,符合C++语法规则的式子。

56.条件表达式 conditional expression

由条件运算符将运算对象连接起来,符合C++语法规则的式子。

语句

57.语句statement

  在函数中控制程序流程执行的基本单位,如if语句,while语句,switch语句,do语句,表达式语句等。

58.复合语句compoundstatement

  封闭于大括号{}内的语句序列。

59.循环语句loopstatement

  for语句,while语句,do语句三种。

60.条件语句conditionalstatement

  基于某一条件在两个选项中选择其一的语句称为条件语句。

函数function

61.成员函数memberfunction

  在类中说明的函数称为成员函数。

62.全局函数globalfunction

  定义在所有类之外的函数。

函数

  由系统自动调用开始执行C++程序的第一个函数 

64.外部函数externalfunction

  在定义函数时,如果冠以关键字extern,表示此函数是外部函数。

65.内联函数inlinefunction

指用inline关键字修饰的函数。

  在函数前加上关键字inline说明了一个内联函数,这使一个函数在程序行里进行代码扩展而不被调用。

这样的好处是减少了函数调用的开销,产生较快的执行速度。

但是由于重复编码会产生较长代码,所以内联函数通常都非常小。

如果一个函数在类说明中定义,则将自动转换成内联函数而无需用inline说明。

66.函数重载functionoverloading

  在同一作用域范围内,相同的函数名通过不同的参数类型或参数个数可以定义几个函数,编译时编译器能够识别实参的个数和类型来决定该调用哪个具体函数。

需要注意的是,如果两个函数仅仅返回类型不同,则编译时将会出错,因为返回类型不足以提供足够的信息以使编译程序判断该使用哪个函数。

所以函数重载时必须是参数类型或者数量不同。

67.函数覆盖functionoverriding

  对基类中的虚函数,派生类以相同的函数名及参数重新实现之。

68.函数声明functiondeclaration

  在C++中,函数声明就是函数原型,它是一条程序语句,即它必须以分号结束。

它有函数返回类型,函数名和参数构成,形式为:

  返回类型function(参数表);

参数表包含所有参数的数据类型,参数之间用逗号分开。

如下函数声明都是合法的。

  intArea(intlength,intwidth);

或intArea(int,int);

69.函数定义functiondefinition

  函数定义与函数声明相对应,指函数的具体实现,即包括函数体。

如:

  intArea(intlength,intwidth) 

  {

   数调用 function call

  指定被调用函数的名字和调用函数所需的信息(参数)。

71.函数名functionname

  与函数体相对,函数调用时引用之

72.函数类型functiontype

  

(1)获取函数并返回值的类型。

  

(2)获取函数但不返回值(void)。

  (3)没有获取参数但返回值。

  (4)没有获取参数也不返回值。

73.形式参数parameter

  函数中需要使用变元(变量)时,将在函数定义时说明需要接受的变元,这些变元称为形式参数。

形式参数对应于函数定义时的参数说明。

其使用与局部变量类似。

74.实际参数argument

  当需要调用函数时,对应该函数需要的变元所给出的数据称为实际参数。

75.值传递passbyvalue

  函数调用时形参仅得到实参的值,调用结果不会改变实参的值。

76.引用传递passbyreference

  函数调用时形参为实参的引用,调用结果会改变实参的值。

77.递归recursion

函数的自我调用称为递归。

每次调用是应该有不同的参数,这样递归才能终止。

Arecursivefunctionisafunctionthatcallsitself.

78.函数体functionbody

与函数名相对,指函数最外边由{}括起来的部分。

作用域

79.作用域actionscope(scale)

  指标识符在程序中有效的范围,与声明位置有关,作用域开始于标识符的生命处。

分:

局部作用域,函数作用域,函数原型作用域,文件作用域,类作用域。

80.局部作用域localscope

  当标识符的声明出现在由一对花括号所括起来的一段程序内时,该标示符的作用域从声明点开始到块结束处为止,此作用域的范围具有局部性。

81.全局作用域 globalscope

  标识符的声明出现在函数,类之外,具有全局性。

82.类作用域 Class scopes

  指类定义和相应的成员函数定义范围。

变量

83.全局变量globalvariable

  定义在任何函数之外,可以被任一模块使用,在整个程序执行期间保持有效。

当几个函数要共享同一数据时全局变量将十分有效,但是使用全局变量是有一定弊端的:

全局变量将在整个程序执行期间占有执行空间,即使它只在少数时间被用到;大量使用全局变量将导致程序混乱,特别是在程序较复杂时可能引起错误。

84.局部变量localvariable

  定义在函数内部的变量。

局部变量只在定义它的模块内部起作用,当该段代码结束,这个变量就不存在了。

也就是说一个局部变量的生命期就是它所在的代码块的执行期,而当这段代码再次被执行时该局部变量将重新被初始化而不会保持上一次的值(如果定义为静态变量,再次调用时将不会不会出事化而保持上次的值)。

需要注意的是,如果主程序和它的一个函数有重名的变量,当函数被调用时这个变量名只代表当前函数中的变量,而不会影响主程序中的同名变量。

85.自动变量automaticvariable

  由auto修饰,动态分配存储空间,存储在动态存储区中,对他们分配和释放存储空间的工作是由编译系统自动处理的。

86.寄存器变量registervariable

  存储在运算器中的寄存器里的变量,可提高执行效率。

87.静态变量staticvariable

由连接器分配在静态内存中的变量。

88.外部变量externalvariable

由extern修饰的变量

变量的生存期

静态生存期:

只要程序开始运行,这种生存期的变量就被分配了内存,这种变量的生存期和程序的运行期相同

局部生存期:

这种变量的生存期开始于程序执行经过其声明点时,而结束于命名它的标识符所在的作用域尾

动态生存期:

这种变量可以随时创建,随时删除,创建和删除是程序员用内存操作函数进行的。

89.类class

  一种用户自定义类型,有成员数据,成员函数,成员常量,成员类型组成。

类是描叙C++概念的三个基本机制之一。

90.堆heap

  即自由存储区,new和delete都是在这里分配和释放内存块。

91.栈stack

  有两个含义:

(1)指内存中为函数维护局部变量的区域。

(2)指先进后处的序列。

92.抽象类abstractclass

  至少包含一个纯虚函数的类。

抽象类不能创建对象,但可以创建指向抽象类的指针,多态机制将根据基类指针选择相应的虚函数。

93.嵌套类nestedclass

  在一个类里可以定义另一个类,被嵌入类只在定义它的类的作用域里有效。

94.局部类localclass

  在函数中定义的类。

注意在函数外这个局部类是不可知的。

由于局部类的说明有很多限制,所以并不常见。

95.基类baseclass(parentclass)

  被继承的类称为基类,又称父类、超类或范化类。

它是一些共有特性的集合,可以有其它类(派生类)继承它,这些类只增加它们独有的特性。

 

96.派生类derivedclass(subclass)

  继承的类称为派生类。

派生类可以用来作为另一个派生类的基类,实现多重继承。

一个派生类也可以有两个或两个以上的基类。

定义时在类名后加":

被继承类名"即可。

99.对象object

  有两重含义:

  1.内存中含有某种数据类型值的邻近的区域。

  2.某种数据类型的命名的或未命名的变量。

一个拥有构造函数的类型对象在构造函数完成构造之前不能认为是一个对象,在析构函数完成析构以后也不再认为它是一个对象。

 

100.数据成员datamember

  指类中存储数据的变量。

101.实例化instantiation

  即建立类的一个对象。

实例(instance)

102.构造函数constructor

  是一个类的实例的初始化函数,将在生成类的实例时被自动调用,用于完成预先的初始化工作。

一个类可以有几个构造函数,以不同的参数来区别,即构造函数可以被重载,以便不同的情况下产生不同的初始化;也可以没有构造函数,此时系统将调用缺省的空构造函数。

需要注意的是构造函数没有返回类型。

103.成员初始化表initializationtable

  成员初始化表可用于初始化类中的任何数据成员,放在构造函数头与构造函数体之间,用":

"与构造函数头分开,被初始化的数据成员的值出现在一对括弧之间,它们之间用逗号分开。

104.析构函数destructor

  是一个类的实例的回收函数,将在该实例结束使用前被自动调用,用于完成资源的释放。

一个类只可以有一个析构函数,当析构函数执行后,该实例(对象)将不复存在。

析构函数同样没有返回值。

105.虚析构函数virtualdestructor

  由virtual修饰的析构函数,当用基类指针释放派生类对象时可根据它所指向的派生类对象释放准确的对象。

106.继承inheritance

  面向对象的程序设计语言的特点之一。

即一个对象获得另一个对象的特性的过程。

如将公共属性和服务放到基类中,而它的各派生类除了有各自的特有属性和服务外还可以共享基类的公共属性和服务。

这样的好处是容易建立体系,增强代码重复性。

107.单继承singleinheritance

  一个派生类只有一个基类,成为单继承。

108.重继承multipleinheritance

  一个派生类拥有多个基类,成为多继承。

109.虚函数virtualfunction

  在基类中说明为virtual并在派生类中重定义的函数。

重定义将忽略基类中的函数定义,指明了函数执行的实际操作。

当一个基类指针指向包含虚函数的派生对象时,C++将根据指针指向的对象类型来决定调用哪一个函数,实现了运行时的多态性。

这里的重定义类似于函数重载,不同的是重定义的虚函数的原型必须和基类中指定的函数原型完全匹配。

构造函数不能是虚函数,而析构函数则可以是。

 

110.纯虚函数purevirtualfunction

  在基类中只有声明没有实现的虚函数。

形式为:

  virtualtypefunname(paralist)=0。

这时基函数只提供派生类使用的接口,任何类要使用必须给出自己的定义。

111.多态性polymorphism

  给不同类型的实体提供单一接口。

虚函数通过基类接口实现动态多态性,重载函数和模板提供了静态多态性。

112.复制构造函数copyconstructor

  以自身类对象为参数的构造函数,如Z:

:

Z(constZ&).用在同类对象间进行初始化。

113.运算符重载operatoroverloading

  C++中可以重载双目(如+,×等)和单目(如++)操作符,这样可以使用户像使用基本数据类型那样对自定义类型(类)的变量进行操作,增强了程序的可读性。

当一个运算符被重载后,它将具有和某个类相关的含义,同时仍将保持原有含义。

114.静态成员函数staticmemberfunction

  成员函数通过前面加static说明为静态的,但是静态成员函数只能存取类的其他静态成员,而且没有this指针。

静态成员函数可以用来在创建对象前预初始化专有的静态数据。

115.静态成员变量staticmembervariable

  在成员变量之前加static关键字将使该变量称为静态成员变量,该类所有的对象将共享这个变量的同一拷贝。

当对象创建时,所有静态变量只能被初始化为0。

使用静态成员变量可以取代全局变量,因为全局变量是违背面向对象的程序设计的封装性的。

116.私有成员privatemembers

  只能由自身类访问的成员。

117.保护成员protectedmember

  只能由自身类及其派生类访问的成员。

118.友元friend

  被某类明确授权可访问其成员的函数和类。

119.友元函数 friendfunction

  在函数前加上关键字friend即说明了一个友元函数,友元函数可以存取类的所有私有和保护成员。

友元在重载运算符时有时是很有用的。

120.友元类friendclass

  被某类明确授权可访问其成员的类

121.例外处理exceptionhandling

  报告局部无法处理某错误的基本方式。

由try.,throw,catch组成。

122.文件file

  是用于从磁盘文件到终端或打印机的任何东西。

流通过完成打开操作与某文件建立联系。

补充部分:

STL

StandardTemplateLibrary,标准模板库,从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。

这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。

STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。

STL现在是C++的一部分,因此不用额外安装什么。

容器:

容纳、包含一组元素的对象。

迭代器(Iterator)

提供顺序访问容器中每个元素的方法

vector

(连续的空间存储,可以使用[]操作符)快速的访问随机的元素,快速的在末尾插入元素,

但是在序列中间岁间的插入,删除元素要慢,而且如果一开始分配的空间不够的话,有一个重新分配更大空间,然后拷贝的性能开销.

deque:

(小片的连续,小片间用链表相连,实际上内部有一个map的指针,因为知道类型,所以还是可以使用[],只是速度没有vector

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1