问题:C++类的静态成员变量如何初始化
2024-08-28 17:40:11
C++类的静态成员变量属于该类,在该类所有的对象间共享。
要弄清如何初始化,首先要明白声明、定义、初始化三个概念的不同。
声明:指定变量的名字和类型,可以多次声明。
定义:为该成员变量分配存储空间,有且仅有一个定义。
初始化:为该成员变量赋初值。
在类的声明中,静态成员变量仅完成了声明过程,并没有进行定义和赋初值。
静态成员变量在编译时存储在静态存储区,即定义过程应该在编译时完成,因此一定要在类外进行定义,但可以不初始化。
class A
{
public:
static int a;
}
int a;//类外定义,没有初始化
int a=0;//类外定义,并进行初始化。
参考博客:
https://blog.csdn.net/m0_37806112/article/details/82467683
https://blog.csdn.net/sjxbf/article/details/6310150
最新文章
- [Python] Python中的一些特殊函数
- php_cz
- Making the Grade(POJ3666)
- ubuntu14.04设置terminal配色方案以配合使用vim的Solarized插件
- 封装原生Ajax
- 2014年2月份第4周51Aspx源码发布详情
- Codevs 1231 最优布线问题
- Objective-C的对象模型 http://foredoomed.org/blog/2014/02/24/object-modeling-of-objective-c/
- js自定义事件、DOM/伪DOM自定义事件
- 一个好用的hash函数(C语言)
- 程序猿的量化交易之路(29)--Cointrader之Tick实体(16)
- MVC之验证
- Android6.0 中appcompat_v7 报错
- mysql循环插入数据
- Java的二分搜索树
- BZOJ2588 主席树 + 树上差分
- 以超级管理员方式运行bat文件
- maven的安装及试用
- kubernetes 1.3 使用skydns + kube2dns +etcd部署DNS服务器
- VHS介绍