C++中static const成员

来源:互联网 发布:淘宝上的杂货铺哪家好 编辑:程序博客网 时间:2024/06/05 13:07

C++中static const成员是比较特殊的一种,它在google的源码中应用的也比较广泛。

static成员变量只能在类外进行初始化,const成员变量必须在构造函数参数初始化列表中初始化,而static const可以在类中声明时直接初始化,但只有int, bool, char三种类型可以声明为static const。

比如

static const int A =1.

static const类型成员变量主要作为一个全局的常量来使用,有点类似于#define

如果想要得到其他类型的static const怎么办?如果string类型

必须在类中声明该类型返回值的函数:

如 static const string getstring();

然后在函数中实例化一个static的对象,比如

static const string getstring()

{

    static string str("string");

    return str;

}

这种用法是静态的常量,一种常见的用法是有专门的类用于存储这些常量,也有可能作为标志性的常量出现在一些普通的类中。

总之想用#define的地方,可以尝试使用static const




原创粉丝点击