c++复习自存
static 静态变量用途一、函数内部 static 局部变量核心特点存储在全局静态存储区不是栈程序启动分配内存、程序结束才销毁只初始化1次首次进入函数执行初始化后续调用跳过初始化作用域仍仅限当前函数外部无法访问用途保存函数跨调用的持久状态计数器、缓存上次结果voidcount(){staticintnum0;// 仅第一次赋值0num;printf(%d,num);}// 连续调用输出1 2 3 4...避免重复创建大数组/结构体减少栈溢出二、文件域 static 全局变量函数外核心特点仍是全局生命周期但作用域限制在当前.c/.cpp文件其他源文件无法通过extern访问实现文件私有用途封装模块私有数据防止多文件命名冲突实现模块化隔离仅本文件读写降低耦合三、类中 static 成员C专属1. static 成员变量不属于某个对象属于整个类所有对象共享同一份内存必须类外初始化用途统计类实例总数、全局共享配置统一参数classStudent{public:staticintcnt;// 所有学生共用计数器Student(){cnt;}};intStudent::cnt0;2. static 成员函数没有this指针只能访问static成员不能操作普通成员变量可直接用类名::函数()调用无需创建对象用途工具类通用方法、操作类全局静态数据补充static 修饰函数文件内static void func(){}函数仅本文件可见其他文件不能调用隔离模块接口防止重名。