类静态成员是被该类所有对象共享的数据,必须在类外初始化。(如果在类内初始化的话则每个对象都会去初始化该成员,因此会报错)。
class A
{
public:
// static int a = 0; //错误写法
static int a;
};
int B::a = 0;
如果是静态常量成员则两种写法都可以。(因为常量只会被初始化一次)
class A
{
public:
static const int a = 0;
};
本文深入解析了类静态成员的概念,指出其为所有对象共享的数据,必须在类外初始化,否则每次创建对象时都将重新初始化。同时说明静态常量成员可以在类内初始化,因其仅初始化一次。通过具体代码示例,清晰展示了正确与错误的初始化方式。
类静态成员是被该类所有对象共享的数据,必须在类外初始化。(如果在类内初始化的话则每个对象都会去初始化该成员,因此会报错)。
class A
{
public:
// static int a = 0; //错误写法
static int a;
};
int B::a = 0;
如果是静态常量成员则两种写法都可以。(因为常量只会被初始化一次)
class A
{
public:
static const int a = 0;
};
1057
2424

被折叠的 条评论
为什么被折叠?
