2021-09-05 static那些事

1:当变量声明为static时候,空间将在程序的声明周期中分配。 static修饰全局变量或函数的时候只能在本文件中访问。有一个隐藏性。全局变量在一个文件定义  其他文件声明下就可以用啦。extern一下。

2:类中的静态成员变量由对象共享;静态函数不能在构造函数中进行初始化。


编译报错了,正常的初始化应该放到外部,比如这个样子 int apple::i=1;

3:如果一个对象被定义为static时候,他的声明周期也是随着程序而结束。在main结束后可能才去调用这个对象的析构函数。

4:类的静态函数 不依赖于类的对象。允许静态成员函数仅访问静态数据成员。无法访问非静态的成员变量。

插播一个字节对齐的问题,面试的时候记得说一下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作用 隐藏 不论是static函数orstatic变量,当多个文件被同时编译的时候,所有没有static前缀的全局...
    StevenHD阅读 1,735评论 0 0
  • C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通...
    普朗tong阅读 4,461评论 0 0
  • C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通...
    yangqi916阅读 2,953评论 0 0
  • C++ 的 static 有两种用法: 面向过程程序设计中的static 和面向对象程序设计中的 static. ...
    夜殇丶夜逝阅读 3,887评论 0 0
  • static为静态的意思,在C语言中就有这个关键字了,其修饰的变量相对于普通变量存储在栈区而言,存储在了全局变量区...
    wenmingxing阅读 5,630评论 0 4