全局变量,局部变量,静态变量,const

本文深入解析C++中全局变量、局部变量、静态全局变量、静态局部变量、静态成员函数和静态数据成员的特点及区别,强调它们在不同作用域中的行为和存储方式,帮助开发者掌握变量管理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全局变量:全局作用域,只需在一个源文件里定义,就可以作用于所有的源文件了,如果没有包含这个变量的其他文件可以用extern关键字,进行声明,扩大了作用域范围。

                 它的数据存储在静态数据区。

局部变量:局部作用域,只能在局部函数中使用,调用函数是分配栈内存,函数使用完成后,释放内存。数据存储在栈中。

静态全局变量:作用于定义它的文件里面,其他的文件不能使用,不能使用extern关键字在别处声明。减小了作用域,数据存储了静态数据区。

静态局部变量:作用于局部作用域,只只初始化一次,从初始化到程序结束一直存在。数据存储在静态数据区。

静态成员函数:在C++里是整个类所拥有的,不为某个对象所拥有,不能在类里面初始化,只能初始化一次,必须在类外部单独初始化。而且只能调用静态数据成员。

静态数据成员:为类的所有对象共享,只能由类调用,不能用对象调用,否则每次调用都会初始化这个静态数据成员,这样就是导致错误,所以必须在类外单独初始化。

const修饰的变量,函数:防止意想不到的改变,只能使用这个变量,不能修改,const的数据成员,必须采用成员初始化列表的方法进行赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值