首先是c++的类中的const型的常量的使用:
一: static const
例:
class A
{
static const int a=9;
};
声明结束后必须添加上赋值。
二: const
例:
class A
{
const int a;
public:
A():a(0){}
};
声明之后需通过构造函数的初始化列表来进行初始化,不能直接赋值,也不能在构造函数中来赋值。
然后是c++类中的static型变量的使用:
例:
class A
{
static int a;
};
int A::a=9;
与static const int a不同,static int a并不能在声明时就赋值,只能在类的声明之外对其值进行定义,如不定义也不会出错,但是会导致你定义的该静态变量并没有获取内存的分配,导致在后面你要使用该变量时产生错误,报错的信息多半是该变量被编译器认为是无法解析的外部符号。
大致总结如上。