C++中静态成员变量的声明与初始化-创新互联

参看C++Primer第十二章节(P426) 不能在类声明中初始化静态成员变量,因为声明描述了如何分配内存,但不分配内存。

对于静态成员,可以在类声明之外使用单独的语句来进行初始化,这是因为静态类成员是单独存储的,而不是对象的组成部分。请注意,初始化语句指出了类型,并使用了作用域运算符,但没有使用关键字static。

目前创新互联已为上1000+的企业提供了网站建设、域名、网站空间网站运营、企业网站设计、新会网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

初始化是在方法文件中,而不是在类声明文件中进行的,这是因为类声明位于头文件中,程序可能将头文件包括在其他文件中。如果在头文件中进行初始化,将出现多个初始化语句副本,从而引发错误。

对于不能在类声明中初始化静态数据成员的一种例外情况是(参看第十章)是,静态数据成员为const整数类型或枚举类型。

注意:

静态数据成员在类声明中声明,在包含类方法的文件中初始化。初始化时使用作用域运算符来指出静态成员所属的类。但如果静态成员是const整数类型或枚举类型,则可以在类声明中初始化。

待续!!!

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:C++中静态成员变量的声明与初始化-创新互联
网站URL:http://scyanting.com/article/dddees.html