首页 > 编程知识 正文

static修饰局部变量(动态变量和静态变量的区别)

时间:2023-05-05 07:29:07 阅读:76238 作者:897

关键字static表示静态,有三个明显的作用:

1 )在函数体内,静态变量具有“记忆”功能。 也就是说,在调用函数时,声明为静态变量的值不会更改。

静态局部变量和通常局部变量的区别:static局部变量只被初始化一次,下次运算基于上次结果值。

2 )在模块中,但在函数体外,其作用域范围是有限制的static类型的变量是本地全局变量。 因此,它可以被模块中的所有函数访问,而不能被模块外的函数访问。

静态类型的函数与常规类型函数的作用域不同。 静态函数的范围仅在此文件中由模块中的其他函数调用,而不是由模块外的其他函数调用。

3 )静态班级:

静态数据成员特征:

(1)对于非静态数据成员,每种类型的对象都有自己的副本的静态数据成员被视为类的成员。 无论对象数量如何,静态数据成员都只有一个复制副本,类中的所有对象都共享和访问。

)2)静态数据成员存储在全局数据区定义时分配内存空间,无法在类声明中定义。 类的所有对象都是共享的,不属于特定的类对象,因此如果未生成类对象,其作用将变为可见。

)3)与常规数据成员一样,遵循公共、私有和受保护的访问规则。

)4)必须初始化static成员变量的初始化是在类外初始化时不具有static关键字。 private、protected的静态成员可以在类外初始化,但不能在类外访问。

静态成员函数的特点:

静态成员函数是类的内部实现,也是类定义的一部分。 普通成员函数通常隐含this指针,并指向类中的对象本身。 this是默认的,因为普通成员函数始终是属于特定类的特定对象。 因为静态成员函数不与任何对象相关联,所以不具有this指针在这种意义上,属于类对象的非静态数据成员或非静态成员函数,http://www.Sina.com

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。