语言保留字

保留字(reserved word),指在高级语言中已经定义过的字,使用者不能再将这些字作为 变量名或过程名使用。

保留字包括关键字和未使用的保留字。关键字则指在语言中有特定含义,成为语法中一部分的那些字。

在一些语言中,一些保留字可能并没有应用于当前的语法中,这就成了保留字与关键字的区别。一般出现这种情况可能是由于考虑扩展性。

 

C语言(32个)

auto :声明 自动变量

double :声明双精度 变量或函数

int: 声明 整型变量或函数

struct:声明 结构体 变量或函数

break:跳出当前循环

else :条件语句否定分支(与 if 连用)

long :声明长 整型变量或函数

switch :用于开关语句

case:开关语句分支

enum :声明枚举类型

register:声明 寄存器变量

typedef:用以给 数据类型取别名

char :声明 字符型 变量或函数

extern:声明 变量是在其他文件正声明

return :子程序返回语句(可以带参数,也可不带参数)

union:声明共用 数据类型

const :声明只读 变量

float:声明 浮点型 变量或函数

short :声明短 整型变量或函数

unsigned:声明无符号类型 变量或函数

continue:结束当前循环,开始下一轮循环

for:一种 循环语句

signed:声明有符号类型 变量或函数

void :声明函数无返回值或无参数,声明无类型 指针

default:开关语句中的“其他”分支

goto:无条件跳转语句

sizeof:计算 数据类型长度

volatile:说明 变量在程序执行中可被隐含地改变

do : 循环语句的循环体

while : 循环语句的循环条件

static :声明 静态变量

 

c++语言(62个)

asm   (指令字符串):允许在C++程序中嵌入汇编代码。


2. auto(自动,automatic):是存储类型标识符,表明变量“自动”具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。

3. bool(布尔)类型:C++中的基本数据结构,其值可选为true(真)或者false(假)。C++中的bool类型可以和int混用,具体来说就是0代表false,非0代表true。bool类型常用于条件判断和函数返回值。

4. break(中断、跳出):用在switch语句或者循环语句中。程序遇到break后,即跳过该程序段,继续后面的语句执行。

5. case用于switch语句中,用于判断不同的条件类型。

6. catch  catch和try语句一起用于异常处理。

7. char  char(字符,character)类型,C++中的基本数据结构,其值一般为0~255的int。这256个字符对应着256个ASCII码。char类型的数据需要用单

引号’’括起来。

 
8.class class(类)是C++面向对象设计的基础。使用class关键字声明一个类。

9. const  const(常量的,constant)所修饰的对象或变量不能被改变,修饰函数时,该函数不能改变在该函数外面声明的变量也不能调用任何非const函数。在函数的声明与定义时都要加上const,放在函数参数列表的最后一个括号后。在C++中,用const声明一个变量,意味着该变量就是一个带类型的常量,可以代替#define,且比#define多一个类型信息,且它执行内链接,可放在头文件中声明;但在C中,其声明则必须放在源文件(即.C文件)中,在C中const声明一个变量,除了不能改变其值外,它仍是一具变量。
如 const double pi(3.14159);或 const double pi = 3.14159;

10. const_cast用法:const_cast<type_id> (expression)

该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。常量指针被转化成非常量指针,并且仍然指向原来的对象;

常量引用被转换成非常量引用,并且仍然指向原来的对象;常量对象被转换成非常量对象。


11. continue

continue(继续)关键字用于循环结构。它使程序跳过代码段后部的部分,与break不同的是,continue不是进入代码段后的部分执行,而是重新开始新的循环。因而它是“继续循环”之意,不是break(跳出)。


12. default

default(默认、缺省)用于switch语句。当switch所有的case都不满足时,将进入default执行。default只能放在switch语句所有的case之后,并且是可选的。


13. delete

delete(删除)释放程序动态申请的内存空间。delete后面通常是一个指针或者数组[],并且只能delete通过new关键字申请的指针,否则会发生段错误。


14. do

do-while是一类循环结构。与while循环不同,do-while循环保证至少要进入循环体一次。


15. double

double(双精度)类型,C++中的基本数据结构,以双精度形式存储一个浮点数。


16. dynamic_cast

dynamic_cast(动态转换),允许在运行时刻进行类型转换,从而使程序能够在一个类层次结构安全地转换类型。dynamic_cast提供了两种转换方式,把基类指针转换成派生类指针,或者把指向基类的左值转换成派生类的引用。


17. else else紧跟在if后面,用于对if不成立的情况的选择。

18. enum

enum(枚举)类型,给出一系列固定的值,只能在这里面进行选择一个。


19. explicit

explicit(显式的)的作用是“禁止单参数构造函数”被用于自动型别转换,其中比较典型的例子就是容器类型。在这种类型的构造函数中你可以将初始长度作为参数传递给构造函数。


20. export

为了访问其他编译单元(如另一代码文件)中的变量或对象,对普通类型(包括基本数据类、结构和类),可以利用关键字extern,来使用这些变量或对象时;但是对模板类型,则必须在定义这些模板类对象和模板函数时,使用标准C++新增加的关键字export(导出)。


21. extern

extern(外部的)声明变量或函数为外部链接,即该变量或函数名在其它文件中可见。被其修饰的变量(外部变量)是静态分配空间的,即程序开始时分配,结束时释放。用其声明的变量或函数应该在别的文件或同一文件的其它地方定义(实现)。在文件内声明一个变量或函数默认

为可被外部使用。在C++中,还可用来指定使用另一语言进行链接,这时需要与特定的转换符一起使用。目前仅支持”C”转换标记,来支持C编译器链接。使用这种情况有两种形式:

extern “C” 声明语句

extern “C” { 声明语句块 }


22. false

false(假的),C++的基本数据结构bool类型的值之一。等同于int的0值。


23. float

float(浮点数),C++中的基本数据结构,精度小于double。


24. for

for是C++中的循环结构之一,用于有确定开始和结束以?

fc1

靶枰范ú匠さ难方峁埂?


25. friend

friend(友元)声明友元关系。友元可以访问与其有friend关系的类中的private/protected成员,通过友元直接访问类中的private/protected成员的主要目的是提高效率。友元包括友元函数和友元类。


26. goto

goto(转到),用于无条件跳转到某一标号处开始执行。


27. if

if(如果),C++中的条件语句之一,可以根据后面的bool类型的值选择进入一个分支执行。


28. inline

inline(内联)函数的定义将在编译时在调用处展开。inline函数一般由短小的语句组成,可以提高程序效率。


29. int

int(整型,integer),C++中的基本数据结构,用于表示整数,精度小于long。


30. long

long(长整型,long integer),C++中的基本数据结构,用于表示长整数。


31. mutable

mutable(易变的)是C++中一个不常用的关键字。只能用于类的非静态和非常量数据成员。由于一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化。如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据成员。但是有些时候需要在该类函数中对类的数据成员进行赋值,这个时候就需要用到mutable关键字。


32. namespace

namespace(命名空间)用于在逻辑上组织类,是一种比类大的结构。


33. new

new(新建)用于新建一个对象。new运算符总是返回一个指针。由new创建


34. operator

operator(操作符)用于操作符重载。这是C++中的一种特殊的函数。


35. private

private(私有的),C++中的访问控制符。被标明为private的字段只能在本类以及友元中访问。


36. protected

protected(受保护的),C++中的访问控制符。被标明为protected的字段只能在本类以及其继承类和友元中访问。


37. public

public(公有的),C++中的访问控制符。被标明为public的字段可以在任何类


38.register

register(寄存器)声明的变量称着寄存器变量,在可能的情况下会直接存放在机器的寄存器中;但对32位编译器不起作用,当global optimizations(全局优化)开的时候,它会做出选择是否放在自己的寄存器中;不过其它与register关键字有关的其它符号都对32位编译器有效。


39. reinterpret_cast

用法:reinpreter_cast<type-id> (expression)type-id必须是一个指针、引用、算术类型、函数指针或者成员指针。它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,在把该整数转换成原类型的指针,还可以得到原先的指针值)。

 
40. return

return(返回)用于在函数中返回值。程序在执行到return语句后立即返回,return后面的语句无法执行到。


41. short

short(短整型,short integer),C++中的基本数据结构,用于表示整数,精度小于int。


42. signed

signed(有符号),表明该类型是有符号数,和unsigned相反。数字类型(整型和浮点型)都可以用signed修饰。但默认就是signed,所以一般不会显式使用。


43. sizeof

由于C++每种类型的大小都是由编译器自行决定的,为了增加可移植性,可以用sizeof运算符获得该数据类型占用的字节数。


44. static

static(静态的)静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可改变其值。静态变量或静态函数,只有本文件内的代码才可访问它,它的名字(变量名或函数名)在其它文件中不可见。因此也称为“文件作用域”。在C++类的成员变量被声明为static(称为静态成员变量),意味着它被该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见;而类的静态成员函数也只能访问静态成员(变量或函数)。类的静态成员变量必须在声明它的文件范围内进行初始化才能使用,private类型的也不例外。


45. static_cast

用法:static_cast < type-id > ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:

① 用于类层次结构中基类和子类之间指针或引用的转换。进行上行转换(把子类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查,所以是不安全的。

② 用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。

③ 把空指针转换成目标类型的空指针。

④ 把任何类型的表达式转换成void类?

注意:static_cast不能转换掉expression的const、volitale、或者__unaligned属性。


46. struct

struct(结构)类型,类似于class关键字,与C语言兼容(class关键字是不与C语言兼容的),可以实现面向对象程序设计


47. switch

switch(转换)类似于if-else-if语句,是一种多分枝语句。它提供了一种简洁的书写,并且能够生成效率更好的代码。但是,switch后面的判断只能是int(char也可以,但char本质上也是一种int类型)。switch语句最后的default分支是可选的。其用法为:


48. template

template(模板),C++中泛型机制的实现。


49. this

this返回调用者本身的指针。


50. throw

throw(抛出)用于实现C++的异常处理机制,可以通过throw关键字“抛出”一个异常。


51. true

true(真的),C++的基本数据结构bool类型的值之一。等同于int的非0值。


52. try

try(尝试)用于实现C++的异常处理机制。可以在try中调用可能抛出异常的函数,然后在try后面的catch中捕获并进行处理。


53. typedef:typedef(类型定义,type define),其格式为:typedef  类型 定义名;
 
54. typeid:指出指针或引用指向的对象的实际派生类型。
 

55.typename(类型名字):告诉编译器把一个特殊的名字解释成一个类型。在下列情况下必须对一个name使用typename关键字:

1.  一个唯一的name(可以作为类型理解),它嵌套在另一个类型中的。

2.  依赖于一个模板参数,就是说:模板参数在某种程度上包含这个name。当模板参数使编译器在指认一个类型时产生了误解。

 

56.union(联合):类似于enum。不同的是enum实质上是int类型的,而union可以用于所有类型,并且其占用空间是随着实际类型大小变化的。

57.unsigned(无符号):表明该类型是无符号数,和signed相反。
58.using:表明使用namespace。
59.virtual(虚的):C++中用来实现多态机制。

60.void(空的):可以作为函数返回值,表明不返回任何数据;可以作为参数,表明没有参数传入(C++中不是必须的);可以作为指针使用。

61.volatile:volatile(不稳定的)限定一个对象可被外部进程(操作系统、硬件或并发线程等)改变

62.wchar_t:wchar_t是宽字符类型,每个wchar_t类型占2个字节,16位宽。汉字的表示就要用到wchar_t。

posted @ 2018-07-03 10:07  Manjusaka丶梦寒  阅读(309)  评论(0编辑  收藏  举报