static在c++中的作用

如题所述

第1个回答  2021-04-29
一、用作局部静态变量
static类型局部变量存储在静态存储区,在程序整个运行期间都不释放。static局部变量只在所处模块初次运行时初始化一次。如果没有初始化语句,编译期会自动赋初值0或空字符,对象实例如果不初始化,则会自动调用默认构造函数
二、用于外部静态变量/函数

函数前加static使得函数成为静态函数,函数的作用域仅局限于本文件(所以又称内部函数)。全局变量加static限制, 限定作用域在本文件内部

三、静态数据成员/成员函数

表示属于一个类而不是属于此类的任何特定对象的变量和函数。比如在对某一个类的对象进行计数时, 计数生成多少个类的实例,就可以用到静态数据成员。静态成员函数被普通成员函数调用时, 需要传入this指针, static成员函数调用时, 没有this指针.
相似回答