c++ | 补基础 | static与const

18 篇文章 0 订阅

const:常量,即赋值后不可以被改变

const修饰函数返回值:多是修饰返回值是引用的情况,避免返回值被修改

const修饰成员函数:不会修改数据成员的函数可以声明为 const 类型


static:静态xxx

1. 修饰全局变量
        只能在当前文件可见。所以不同文件中可以定义同名的static全局变量


2. 修饰局部变量
        使局部变量的生存周期从函数结束延长到程序结束
         如果一个函数经常被调用,那么这个变量就不会频繁被创建销毁?


3. 修饰函数
        同1,因为普通的函数默认是extern的


4. 修饰类成员变量
        使其成为静态成员变量,该类所有对象这个数据成员都只有一个实例,的意思是说所有对象都共用这一个变量,改变的也是同一个变量的值(有点像全局变量)
       静态成员变量相比较全局变量的好处:可以私有化


5. 修饰类成员方法
        使其为静态成员方法,只能访问它的参数、类的静态数据成员和全局变量
        和静态成员变量一样,不属于某个对象,而属于这个类,是为类服务的

(这个文章有总结,冗余但全面)

c++中static的作用_ypshowm的博客-CSDN博客_c++ static


关于在头文件中定义全局变量:

不可以,编译器不会报错但,每一个cpp使用的都是地址不一样的变量,然后会增加很多无用的内存占用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值