【C/C++】static

C/C++共有

static修饰局部变量(比如函数中的局部变量),此时这个变量的位置就在全局静态区,但仍旧只能在函数内部访问,比如

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 
 4 void test(){
 5     static int a=0;
 6     a++;
 7     cout <<a<< endl;
 8 }
 9 
10 int main()
11 {
12    
13     test();
14     //cout<<a;//会报错,不行,只能在test里访问
15     test();
16     
17    return 0;
18 }
复制代码

作用域:作用域不变,只是出作用域不被销毁

生命周期:生命周期变长,程序结束生命周期才结束

static修饰全局变量,

作用域: 作用域变小,仅仅局限在当前文件下

生命周期:生命周期没变,因为全局变量任然存储在静态区上。

static修饰函数

作用域:作用域变小,仅仅局限于当前文件下

C++面对对象情况下

静态成员变量和静态成员函数都是在程序一开始就加载到内存中的,所以静态方法只能访问静态成员变量以及它的参数,但非静态方法是可以访问静态成员的

posted on   甲鱼写代码  阅读(19)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示