用static声明类的成员称为类的静态成员,用static修饰的成员变量,称为静态成员变量,用static修饰的成员函数,称为静态成员函数。

static在C语言:

  • 修饰变量:

  • 修饰函数中的局部变量,延长变量的生命周期,同时也具有记忆功能,能够保存该变量上一次被修改后的值。

  • 修饰全局变量,改变该变量的链接属性,只能在当前文件中访问。

  • 修饰函数

  • 表明该函数只能在当前文件中进行访问

static修饰的变量与函数是有范围可见的

static在C++中

  • 修饰普通局部变量与全局变量与C语言类型。
  • 修饰类成员变量
  • static修饰的类成员变量不属于某一个特定的对象,而是该类实例化出来所有类共享的,所以static修饰的成员变量不会导致类的大小发生改变。
  • 静态成员变量必须在类外进行初始化,不能放在构造函数中初始化。定义的语法为:变量类型 类名::变量名 ,在定义的时候是不需要添加static关键字。
class A{private:static int a;
}
int A::a = 1;
  • 静态成员可以通过类名进行访问。由于静态成员不属于某一个具体的类,所以其可以由类名进行访问。语法为:类名::静态成员名。由于静态成员是所有类对象所共享的,其访问语法也可以为:对象名.进程成员名。

  • 修饰普通函数与C语言类似

  • 修饰类成员函数

  • 静态成员函数没有隐藏的this指针,所以不能访问非静态成员函数。

C++---static关键字相关推荐

  1. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  2. Java 静态变量,静态方法,静态常量(java static 关键字)

    Java 静态变量,静态方法,静态常量  就是变量 ,方法,常量前面添加了static 关键字 为什么要使用静态的呢 有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main ...

  3. static关键字用法

    static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句 ...

  4. Java中的static关键字的用法

    1.静态方法 static:通常在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 声明为static的方法有以下几条限制: (1)它们仅能调用其他的static方法. (2 ...

  5. java的static关键字

    java的static关键字 静态变量和静态方法 static关键字最基本的用法是: 1.被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来 2.被static ...

  6. 面试季,Java中的static关键字解析

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面 ...

  7. c++语言static作用,详解c++中的 static 关键字及作用

    注:若没有特指是 静态成员时,默认都是普通成员: 1 类中的普通成员 类中的成员变量 和 成员函数 是分开存储的.其中, 1)每个对象都有独立的成员变量:成员变量可以存储在 栈空间.堆空间.全局数据区 ...

  8. static关键字了解解析

    什么是static关键字 static关键字我们经常接触,不过我们一直没有讨论过它到底是什么,有什么具体的作用,那static关键字是什么呢,有啥用呢? static是静态的意思,是一个修饰符,就像是 ...

  9. Java中的static关键字详解

    ** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...

  10. C++中的static关键字的总结

    C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 1.面向过程设计中的st ...

最新文章

  1. MySQL · myrocks · MyRocks之memtable切换与刷盘
  2. cordova flie文件目录_Cordova文件插件目录错误
  3. scanf与gets的区分
  4. 场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)
  5. java上传文件以流方式判断类型
  6. ae正在发生崩溃_AE错误:正在发生崩溃的解决方法,原创问题解决方案
  7. mysql utf8转gbk cmd_utf8转成gbk
  8. 在windows下执行./configure,make,makeinstall源码安装程序spice-gtk
  9. 用python制作贺卡_Python:通过邮箱发送贺卡或明信片
  10. Bailian3260 赛手查询【排序】
  11. Watir vs Selenium
  12. 分盘后磁盘空间不够,用分区助手增加某个磁盘空间
  13. 海贼C语言,PSV海贼无双3金手指代码 (PSVC)
  14. QT 使用QAxWidget和QAxObject操作DOCX和EXECL文件,包括修改数据、插入图片、修改表格、打印文档、复制SHEET、修改页码数等
  15. 软件定义网络带来新的自动化优势和挑战
  16. 共轭先验分布及其应用
  17. 【Scrum模式语言9】准备就绪的定义(Definition of Ready - DoR )
  18. 本人博客目录 [实时更新]
  19. 计算机考试电子邮件怎么回复,计算机基础知识电子邮件使用技巧集锦(二)
  20. S700K转辙机多机牵引道岔故障处理【转自微信公众号高速铁路信号技术交流】

热门文章

  1. 资源管理与调度系统-YARN资源隔离及以YARN为核心的生态系统
  2. MVC5 Action的view()直接输出字符串方式
  3. 香蕉派 Banana pi BPI-M1+ 双核开源单板计算机. 板载WIFI
  4. 亚洲200佳 中国88家企业居首
  5. Windows Embedded Webcast 2008年1月预告
  6. linux 家目录没有了,linux刀片服务器断电重启以后home目录下的用户文件夹丢失了...
  7. 济南2021高考成绩查询,@全体济南人:2021夏季高考时间公布!
  8. 1.10_merge_sort_归并排序
  9. java 匿名函数_国外程序员用的火热的Vavr是什么鬼?让函数式编程更简单!
  10. 理论篇-数理统计填坑篇