C++高频知识总结P5

static、extern、const、volatile关键字?

static:static的意思是静态的,可以用来修饰变量,函数和类成员。

局部变量:被static修饰的局部变量就是,它会在程序运行过程中,并且值不变。
在这里插入图片描述

全局变量:被static修饰的全局变量函数只能在本文件中使用,不能被其他文件调用。
在这里插入图片描述

**函数:被static修饰的函数就是静态函数,静态函数只能在本文件中使用,不能被其他文件调用,也不会和其他文件中的同名函数冲突。

:而在类中,被static修饰的成员变量是类静态成员,这个静态成员会被类的多个对象共用。被static修饰的成员函数也属于静态成员,不是属于某个对象的,访问这个静态函数不需要引用对象名,而是通过引用类名来访问。

【note】静态成员函数要访问非静态成员时,要用过对象来引用。局部静态变量在函数调用结束后也不会被回收,会一直在程序内存中,直到该函数再次被调用,它的值还是保持上一次调用结束后的值。

注意和const的区别。const强调值不能被修改,而static强调唯一的拷贝,对所有类的对象都共用。

extern
在当前文件使用extern 类型 变量名/函数名就可以使用另一个文件中定义的全局变量或者函数。不用再分配内存。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

const
(1)const常量,修饰的常量不能变。
(2)const指针, 指针常量int *const p (指针指向的地址不能变,但是可以修改指向值)和常量指针const int *p(指针指向的值不能变,但可以指向别的指针),谁在前谁不能变。
(3) const函数,有三个位置 const int add(const &a , const &b)const
修饰形参:形参不能变
修饰函数:返回值不能变
在最后:不能修改成员变量
(4)const对象 const point p
const对象只能调用const成员函数,不能调用普通成员函数
普通成员函数两个都可以调用
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
volatile
有时候程序编译时,编译器会对程序做优化,volatile的意思是“脆弱的”,表明它修饰的变量的值十分容易被改变,所以编译器就不会对这个变量进行优化(CPU的优化是让该变量存放到CPU寄存器而不是内存),进而提供稳定的访问。每次读取volatile的变量时,系统总是会从内存中读取这个变量,并且将它的值立刻保存。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值