C++名词解释

  1. 保留字reserved word
      C++中,保留字也称关键字,它是预先定义好的标识符。见关键字的解释。

2.关键字key word
  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等等。此外还有串常量如”Pleaseinput year:”,反斜线字符常量如\n表示回车符。

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

11.流stream
  流是既产生信息又消费信息的逻辑设备,通过C++系统和物理设备关联。C++的I/O系统是通过流操作的。有两种类型的流:文本流,二进制流。

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

13.内置数据类型built-in data type
  由C++直接提供的类型,包括int、float、double、char、bool、指针、数组和引用。

14.字符类型character type
  包括 char、signed char、unsigned char三种类型。

15.整数类型integer type
  包括 short、 int、long 三种类型。

16.long
  只能修饰 int , double.
  long int 指一种整数类型,它的长度大于等于int型.
  long double指长双精度类型,长度大于等于double型。

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

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

19.布尔型bool
  一种数据类型,其值可为:true, false 两种。

20.浮点类型floating-point type
  包括float, double , long double三种类型。其典型特征表现为有尾数或指数。

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

22.void类型
  关键字之一,指示没有返回信息。

23.结构类型struct
  类的一种,其成员默认为public型。大多用作无成员函数的数据结构。

24.枚举类型enumeration
  一种用户自定义类型,由用户定义的值的集合组成。

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

26.指针indicator(pointer)
  一个保存地址或0的对象。

  1. 函数指针function pointer
      每个函数都有地址,指向函数地址的指针称为函数指针,函数指针指向代码区中的某个函数,通过函数指针可以调用相应的函数。其定义形式为:
      int ( * func ) ( char a, char b);

28.引用reference
  为一个对象或函数提供的另一个名字。

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

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

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

运算符
32.运算符operator
  内置的操作常用符号,例如+,* ,& 等。

33.单目运算符unary operator
  只能对一个操作数进行操作

34.双目运算符binary operator
  可对两个操作数进行操作

35.三目运算符 ternary operator
  可对三个操作数进行操作

36.算术运算符Arithmetic operator
  执行算术操作的运算符,包括:+,-,*,/,%。

37.条件运算符conditional operators
  即”?: ” 。
  其语法为:
  (条件表达式)?(条件为真时的表达式):(条件为假时的表达式)
  如:x = a < b ? a : b;
  相当于:
  if ( a < b)
  x = a;
  else
  x = b;

38.赋值运算符Assignment operator
  即:” = “及其扩展赋值运算符

39.左值l-value
  能出现在赋值表达式左边的表达式。

40.右值r-value
  能出现在赋值表达式右边的表达式。

41.运算符的结合性operator associativity
  指表达式中出现同等优先级的操作符时该先做哪个的规定。

42.位运算符bit operator
  ” & “,” | ” , ” ^ “,”>> “,”<< “

43.逗号运算符Comma operator
  即” , “

44.逻辑运算符logical operator
  ” && “, ” || ” ,” !”

45.关系运算符relational operator
  “>”,”>=”,”<=”,”<”,” <= “,”== “

46.new运算符
  对象创建的操作符。

47.delete运算符
  对象释放操作符,触发析构函数。

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

49.sizeof运算符
  获得对象在内存中的长度,以字节为单位。

表达式
50.表达式expression
  由操作符和标识符组合而成,产生一个新的值。

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

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

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

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

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

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

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

58.复合语句compound statement
  封闭于大括号{}内的语句序列。

59.循环语句loop statement
  for 语句, while 语句, do 语句三种。

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

函数function
61.成员函数member function
  在类中说明的函数称为成员函数。

62.全局函数global function
  定义在所有类之外的函数。

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

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

65.内联函数inline function
指用inline关键字修饰的函数。
  在函数前加上关键字inline说明了一个内联函数,这使一个函数在程序行里进行代码扩展而不被调用。这样的好处是减少了函数调用的开销,产生较快的执行速度。但是由于重复编码会产生较长代码,所以内联函数通常都非常小。如果一个函数在类说明中定义,则将自动转换成内联函数而无需用inline说明。

66.函数重载function overloading
  在同一作用域范围内,相同的函数名通过不同的参数类型或参数个数可以定义几个函数,编译时编译器能够识别实参的个数和类型来决定该调用哪个具体函数。需要注意的是,如果两个函数仅仅返回类型不同,则编译时将会出错,因为返回类型不足以提供足够的信息以使编译程序判断该使用哪个函数。所以函数重载时必须是参数类型或者数量不同。

67.函数覆盖function overriding
  对基类中的虚函数,派生类以相同的函数名及参数重新实现之。

68.函数声明function declaration
  在C++中,函数声明就是函数原型,它是一条程序语句,即它必须以分号结束。它有函数返回类型,函数名和参数构成,形式为:
  返回类型 function (参数表);
参数表包含所有参数的数据类型,参数之间用逗号分开。如下函数声明都是合法的。
  int Area(int length , int width ) ;
或 int Area ( int , int ) ;

69.函数定义function definition
  函数定义与函数声明相对应,指函数的具体实现,即包括函数体。如:
  int Area( int length , int width)
  {
   // other program statement
  }

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

71.函数名function name
  与函数体相对,函数调用时引用之

72.函数类型function type
  (1) 获取函数并返回值的类型。
  (2) 获取函数但不返回值(void)。
  (3) 没有获取参数但返回值。
  (4) 没有获取参数也不返回值。

73.形式参数parameter
  函数中需要使用变元(变量)时,将在函数定义时说明需要接受的变元,这些变元称为形式参数。形式参数对应于函数定义时的参数说明。其使用与局部变量类似。

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

75.值传递pass by value
  函数调用时形参仅得到实参的值,调用结果不会改变实参的值。

76.引用传递pass by reference
  函数调用时形参为实参的引用,调用结果会改变实参的值。

77.递归recursion
函数的自我调用称为递归。每次调用是应该有不同的参数,这样递归才能终止。
A recursive function is a function that calls itself.

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

作用域
79.作用域action scope(scale)
  指标识符在程序中有效的范围,与声明位置有关,作用域开始于标识符的生命处。分:局部作用域,函数作用域,函数原型作用域,文件作用域,类作用域。

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

81.全局作用域 global scope
  标识符的声明出现在函数,类之外,具有全局性。

82.类作用域 Class scopes
  指类定义和相应的成员函数定义范围。

变量
83.全局变量global variable
  定义在任何函数之外,可以被任一模块使用,在整个程序执行期间保持有效。当几个函数要共享同一数据时全局变量将十分有效,但是使用全局变量是有一定弊端的:全局变量将在整个程序执行期间占有执行空间,即使它只在少数时间被用到;大量使用全局变量将导致程序混乱,特别是在程序较复杂时可能引起错误。

84.局部变量local variable
  定义在函数内部的变量。局部变量只在定义它的模块内部起作用,当该段代码结束,这个变量就不存在了。也就是说一个局部变量的生命期就是它所在的代码块的执行期,而当这段代码再次被执行时该局部变量将重新被初始化而不会保持上一次的值(如果定义为静态变量,再次调用时将不会不会出事化而保持上次的值)。需要注意的是,如果主程序和它的一个函数有重名的变量,当函数被调用时这个变量名只代表当前函数中的变量,而不会影响主程序中的同名变量。

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

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

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

88.外部变量external variable
由extern修饰的变量

变量的生存期
静态生存期:只要程序开始运行,这种生存期的变量就被分配了内存,这种变量的生存期和程序的运行期相同
局部生存期:这种变量的生存期开始于程序执行经过其声明点时,而结束于命名它的标识符所在的作用域尾
动态生存期:这种变量可以随时创建,随时删除,创建和删除是程序员用内存操作函数进行的。

89.类class
  一种用户自定义类型,有成员数据,成员函数,成员常量,成员类型组成。类是描叙C++概念的三个基本机制之一。

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

91.栈stack
  有两个含义:(1)指内存中为函数维护局部变量的区域。(2)指先进后处的序列。

92.抽象类abstract class
  至少包含一个纯虚函数的类。抽象类不能创建对象,但可以创建指向抽象类的指针,多态机制将根据基类指针选择相应的虚函数。

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

94.局部类local class
  在函数中定义的类。注意在函数外这个局部类是不可知的。由于局部类的说明有很多限制,所以并不常见。

95.基类base class(parent class)
  被继承的类称为基类,又称父类、超类或范化类。它是一些共有特性的集合,可以有其它类(派生类)继承它,这些类只增加它们独有的特性。

96.派生类derived class(subclass)
  继承的类称为派生类。派生类可以用来作为另一个派生类的基类,实现多重继承。一个派生类也可以有两个或两个以上的基类。定义时在类名后加”:被继承类名”即可。

99.对象object
  有两重含义:
  1. 内存中含有某种数据类型值的邻近的区域。
  2.某种数据类型的命名的或未命名的变量。一个拥有构造函数的类型对象在构造函数完成构造之前不能认为是一个对象,在析构函数完成析构以后也不再认为它是一个对象。

  1. 数据成员data member
      指类中存储数据的变量。

101.实例化instantiation
  即建立类的一个对象。实例(instance)

102.构造函数constructor
  是一个类的实例的初始化函数,将在生成类的实例时被自动调用,用于完成预先的初始化工作。一个类可以有几个构造函数,以不同的参数来区别,即构造函数可以被重载,以便不同的情况下产生不同的初始化;也可以没有构造函数,此时系统将调用缺省的空构造函数。需要注意的是构造函数没有返回类型。

103.成员初始化表initialization table
  成员初始化表可用于初始化类中的任何数据成员,放在构造函数头与构造函数体之间,用”:”与构造函数头分开,被初始化的数据成员的值出现在一对括弧之间,它们之间用逗号分开。

104.析构函数destructor
  是一个类的实例的回收函数,将在该实例结束使用前被自动调用,用于完成资源的释放。一个类只可以有一个析构函数,当析构函数执行后,该实例(对象)将不复存在。析构函数同样没有返回值。

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

106.继承inheritance
  面向对象的程序设计语言的特点之一。即一个对象获得另一个对象的特性的过程。如将公共属性和服务放到基类中,而它的各派生类除了有各自的特有属性和服务外还可以共享基类的公共属性和服务。这样的好处是容易建立体系,增强代码重复性。

107.单继承single inheritance
  一个派生类只有一个基类,成为单继承。

108.重继承multiple inheritance
  一个派生类拥有多个基类,成为多继承。

109.虚函数virtual function
  在基类中说明为virtual并在派生类中重定义的函数。重定义将忽略基类中的函数定义,指明了函数执行的实际操作。当一个基类指针指向包含虚函数的派生对象时,C++将根据指针指向的对象类型来决定调用哪一个函数,实现了运行时的多态性。这里的重定义类似于函数重载,不同的是重定义的虚函数的原型必须和基类中指定的函数原型完全匹配。构造函数不能是虚函数,而析构函数则可以是。

110.纯虚函数pure virtual function
  在基类中只有声明没有实现的虚函数。形式为:
  virtual typefunname(paralist)=0。这时基函数只提供派生类使用的接口,任何类要使用必须给出自己的定义。

111.多态性polymorphism
  给不同类型的实体提供单一接口。虚函数通过基类接口实现动态多态性,重载函数和模板提供了静态多态性。

112.复制构造函数copy constructor
  以自身类对象为参数的构造函数,如Z::Z(const Z&).用在同类对象间进行初始化。

  1. 运算符重载operator overloading
      C++中可以重载双目(如+,×等)和单目(如++)操作符,这样可以使用户像使用基本数据类型那样对自定义类型(类)的变量进行操作,增强了程序的可读性。当一个运算符被重载后,它将具有和某个类相关的含义,同时仍将保持原有含义。

114.静态成员函数static member function
  成员函数通过前面加static说明为静态的,但是静态成员函数只能存取类的其他静态成员,而且没有this指针。静态成员函数可以用来在创建对象前预初始化专有的静态数据。

115.静态成员变量static member variable
  在成员变量之前加static关键字将使该变量称为静态成员变量,该类所有的对象将共享这个变量的同一拷贝。当对象创建时,所有静态变量只能被初始化为0。使用静态成员变量可以取代全局变量,因为全局变量是违背面向对象的程序设计的封装性的。

116.私有成员private members
  只能由自身类访问的成员。

117.保护成员protected member
  只能由自身类及其派生类访问的成员。

118.友元friend
  被某类明确授权可访问其成员的函数和类。

119.友元函数 friend function
  在函数前加上关键字friend即说明了一个友元函数,友元函数可以存取类的所有私有和保护成员。友元在重载运算符时有时是很有用的。

120.友元类friend class
  被某类明确授权可访问其成员的类

121.例外处理exception handling
  报告局部无法处理某错误的基本方式。由try., throw , catch组成。

122.文件file
  是用于从磁盘文件到终端或打印机的任何东西。流通过完成打开操作与某文件建立联系。

补充部分:
STL
Standard Template Library,标准模板库,从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么。
容器: 容纳、包含一组元素的对象。

迭代器(Iterator)
提供顺序访问容器中每个元素的方法

vector
(连续的空间存储,可以使用[ ]操作符)快速的访问随机的元素,快速的在末尾插入元素,
但是在序列中间岁间的插入,删除元素要慢,而且如果一开始分配的空间不够的话,有一个重新分配更大空间, 然后拷贝的性能开销.

deque:
(小片的连续,小片间用链表相连,实际上内部有一个map的指针,因为知道类型,所以还是可以使用[ ], 只是速度没有vector快)快速的访问随机的元素,快速的在开始和末尾插入元素,随机的插入,删除元素要慢,
空间的重新分配要比vector快,重新分配空间后,原有的元素不需要拷贝。对deque的排序操作, 可将deque先复制到vector,排序后在复制回deque。

list
(每个元素间用链表相连)访问随机元素不如vector快,随机的插入元素比vector快,对每个元素分配空间, 所以不存在空间不够,重新分配的情况

map
一对一的映射的结合,key不能重复。

queue
是受限制的deque,内部容器一般使用list较简单。先进先出,不允许遍历。


流是一种抽象,负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动


具有相同数据结构和相同操作的一类对象的描述。

对象
描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。

多态
不同对象收到相同的消息时,产生不同的动作。

继承
允许在已有类的基础上创建新的类,新类可以从一个或多个类中继承成员函数和
数据成员,并且可以重新定义或加进新的数据和函数,从而形成类的层次或等级。

封装
把数据和实现操作的代码集中起来放在对象内部,并尽可能隐藏对象的内部细节。

运算符重载
是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据导致不同的行为

模板
C++语言具有类属机制的叫模板。

函数对象
重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。又称仿函数
A function object[a] is a construct allowing an object to be invoked or called as if it were an ordinary function, usually with the same syntax (a function parameter that can also be a function).

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值