C++类域中的符号常量

这是个很重要的问题,须知类的声明只不过是告诉编译器这个类的形式,或者说这个类长什么样子,编译器并不给它分配空间。但是当你声明了一个对象的时候情况就不同了,它作为一个独立的实例,必须要有自己的空间,也就是说这个时候它才被分配空间,而各个对象实体又是各不相同的。所以你不可能在类的声明式中的成员上初始化,就像这样:

这与构造函数中的成员初始化列表和在函数中对成员赋值不同。

一般在类中声明常量可以通过两种方式:1、枚举类型,2、static成员。

你可以用枚举类型充当整型常量,因为实质上它就是整型常量的一种替代,而不是声明,更不是定义。Static成员在内存中只有那么一份,并且它也属于类域,所以你可以直接在类的声明式内定义static常量如下:

这一点也决定了static成员用不着在构造函数初始化成员列表中进行初始化工作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,541评论 1 51
  • 本文博客园地址:http://www.cnblogs.com/xiongxuanwen/p/4290086.htm...
    先之阅读 868评论 0 5
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,896评论 1 10
  • 卫庄公娶了齐国太子得臣的妹妹庄姜为妻,庄姜生的貌美如花,可惜未诞下子嗣,卫国有人创作了一首名为《硕人》的诗描述的就...
    耑意儿阅读 848评论 0 0
  • 我想说的是,正因为七年不可预期,所以必须要有一个方向。 我007第一篇写作的理想是DSDmaster,到现在还是,...
    牙医零柒阅读 325评论 2 0