编程八股文——C/C++中静态static关键字的意义和用法
2023-12-17 15:41:13
static
-
修饰变量: 使变量存储在静态区,变量只初始化一次,生命周期是整个程序
- 静态全局变量:作用域只在该文件,普通全局变量整个程序有效
- 静态局部变量:作用域只在函数中,存储静态区,函数结束时变量值不变,下次调用该函数值接着用
-
修饰普通函数:函数的作用范围只在文件内
-
修饰成员变量:静态成员变量是唯一的、可共享的成员变量
-
存储在静态区,只有一份实体,同一个类的所有对象可访问,没有对象使用“类名:静态成员变量”访问
-
静态成员变量必须在类外进行初始化
-
-
修饰成员函数:静态成员函数是不需要对象就可以访问该函数
- 静态成员函数和静态成员变量一样,不属于类,所以静态成员函数不含 this 指针,也就无法访问类的非静态成员
静态数据成员与全局变量相比的优势
- 静态数据成员没有进入程序的全局命名空间,因此不存在与其他全局变量名字冲突的可能;
- 使用静态数据成员可以隐藏信息。因为静态数据成员可以是 private 成员,而全局变量不能;
简述static对于工程模块化的作用。
static可以让全局变量或函数的作用域限制在当前模块,不会与其他模块发生冲突。
因为在嵌入式系统中,一个程序可能是很多程序员共同完成的,在定义变量及函数的过程中,可能会重命名,给系统集成带来麻烦。
文章来源:https://blog.csdn.net/qq_44814825/article/details/135044910
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!