c++中常用的关键字

发布时间 2023-03-25 00:38:01作者: Ammio

一。数据类型相关

1.bool,true,false

bool取值为真假。true和false是具有布尔类型的字面量,是右值,表示真和假。

2.char,wchar_t

表示字符型和宽字符型的整数类型,一般只用于表示字符。char表示单字节字符,wchar_t表示多字节字符。

3.sign 和 unsigned

表示有符号和无符号,可以修饰char类型,也可以单独作为类型,相当于signed int 和 unsigned int

4.int,short,long,double,float

5.explicit

避免自定义类型隐式转换为类类型

6.auto

根据初始值来自己判断变量的数据类型。但是不是每个编译器都支持auto

二。语句相关

1.switch,case,default

分支语句,根据switch来跳转case标号或者default标记的分支上。

2.do,for,while

循环语句

3.if,else

条件语句,if表示条件,else表示否定分支

4.break,cotinue,goto

break用来跳出for while switch语句

continue用来跳到一个循环的起始位置

goto用于无条件跳转到函数内的标号的地方(风险较大)

三。定义,初始化相关

1.const ,  volatile

语法类似,修饰变量或者函数参数声明,也可以限制非静态成员函数。

const表示只读类型,指定类型安全性,保证类型不被意外修改。

volatile指定修饰的对象类型的读操作的副作用,因此读取不能被随便优化合并,适合映射i/o寄存器

使用于多线程中被几个任务共享的变量。

读取一个变量的时候,为了提高存取速度,编译器优化时通常把变量读取到一个寄存器中,以后再取变量值时,就直接从寄存器中取值。

优化器在用volatile变量的时候每次都小心的重新读取这个变量的值,而不是使用保存到寄存器里的备份。

2.enum枚举类型

3.export

实现模板函数的外部调用。对于模板类型,在头文件中声明模板类和模板函数。

在代码文件中,使用关键字export来定义具体的模板类对象和模板函数。

在其他用户的代码中,包含声名头文件后可以使用这些对象和函数。

4.extern

(1)引用变量的声明

a文件要使用b文件的int v变量,使用extern int v就可以引用变量v 。其中v的链接属性一定是外链接的,v本身是能够被引用的。所以被其他模块以extern引用到的变量一般是全局变量。extern int v可以放在a文件的任意地方。

(2)修饰函数的声明

函数名是指向函数二进制开头处的指针,和引用变量名是一样的。

extern可以加速编译的过程。

5.public ,  proteced,  private

权限修饰符。public是公有的,访问不受限制

protected 是被保护的,只能在本类中和友元中访问

private是私有的,只能在本类中,派生类和友元中访问

6.template

声明一个模板,函数模板,模板类

7.static

修饰变量,修饰函数和类中的成员函数。

具有静态生存期的变量,只在函数第一次调用时候进行初始化,在没有显示初始化的情况下,系统初始化为0

8.struct,class,union

union表示几个变量共用同一个内存空间,在不同的事件保存不同的数据类型和不同长度的变量

union的大小由最大的成员大小决定,对某个成员赋值会改变其他成员的值

9.virtual

声明虚基类,虚函数。

虚函数=0的时候是纯虚函数,纯虚函数所在的类称为抽象类。

四。操作系统相关

1.catch,   throw,   try

try指定try块的起始,throw抛出异常,catch捕获异常

2.new, delete

操作符,可以被重载。

new:向内存申请一段新的空间,失败会抛出异常。

先调用 重载new函数,在函数里面调用malloc函数(失败会返回空)分配空间,再调用构造函数

delete:不仅清理资源,还会释放空间。

先调用析构函数,再调用 重载delete函数,最后在dellete函数里面调用free函数(只是清理资源并不是释放空间)。

3.friend 友元。

4.inline 内联函数。编译的时候可以将所调用的函数代码直接嵌入到主调函数中

5.operator

和操作符连用,指定一个重载了的操作符函数

6.register

提示编译器尽可能的把变量存入到cpu内部的寄存器中。

7.typename

告诉编译器把一个特殊的名字解释为一个类型

六。函数和返回值相关

1.void 指函数无返回值或者无参数

2.return 

(1)带回一个参数(计算结果)

(2)不需要返回计算结果,就返回一个状态码来表示函数执行的顺利与否。-1或者0是最常用的。

3.size of 返回类型具有的大小 

字符串包含/0的大小

七。其他

this

每个类成员函数都隐含了一个this指针,用来指向类本身。一般省略,在 赋值运算符重载的时候要显示使用。静态成员函数没有this指针。

八。0,   NULL   和nullptr

c++中引入了nullptr来区分0和NULL。一般空指针使用nullptr