c++-关键字

final

final的作用:

1. 修饰变量,变量的引用地址不可变,但是地址中的内容可以变。
2. 修饰方法,方法不可被重写,但是还是可以重载
3. 修饰类,类不可继承。

类不能继承
请添加图片描述
虚函数不能被重写
请添加图片描述

union(统一数据多种数据格式输出)

union  dt
{
int  a;   char  b;  double  c;
}data;

union长度取决于其中定义的最长数据成员
在一个union内可以定义多种不同的数据类型,这些数据共享同一段内存
也就是如果先存放 data.a = 2; 再调用data.b = ‘z’ 那么前面的2就会被覆盖垫掉

例如

union  dt
{
	int  a;   char  b;  double  c;
}data;
dt q;
int main()
{
	q.a = 2;
	cout <<"q.a="<< q.a<<endl; //输出2
	q.b = 'c';
	cout << "q.a = " << q.a << endl;//输出99 因为他是按int数据格式输出的
	cout << "q.b=" << q.b << endl;//输出c
}

在这里插入图片描述

register

register变量 register int a= 1;它是把变量存储在cpu中的寄存器中,当一个变量需要反复读写时,不需要反复的访问内存,而直接可以使用它,并且,register是一个建议型的关键字,编译器可能会因为变量不满足一定条件而放弃使用寄存器变量。一般情况下将局部自动变量和函数形参作为寄存器变量。
所以当定义一个静态变量为寄存器变量,编译器不会通过,它仍然还是静态变量

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值