zoukankan      html  css  js  c++  java
  • static数据成员与const数据成员的定义与初始化

    三种数据类型的初始化
    • 1.static int a 的初始化
    • const int a 的初始化
    • static const int a的初始化
    三种初始化方式
    • 在类外初始化
    • 在构造函数中通过初始化列表初始化
    • 在声明的同时初始化 
    一.static数据成员
        静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用"类名.静态成员名"访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员函数不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员函数可以直接访问类中静态的成员.
        静态数据成员在程序中也只有一份拷贝,由该类型的所有对象共享访问。
        静态数据成员存储在全局数据区
       静态数据成员定义时要分配空间,所以不能在类声明中定义。它不属于特定的类对象,在没有产生类对象时其作用域就可见,即在没有产生类的实例时,我们就可以操作它; 
        静态数据成员初始化的格式为: 
        <数据类型><类名>::<静态数据成员名>=<值> 
        类的静态数据成员有两种访问形式: 
        <类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名> 

     

    二.const数据成员初始化方式 
    通过构造函数列表初始化,不能在构造函数里初始化

    总结:
    static int a要在类外初始化
    const int a要在构造函数初始化列表中初始化
    static const int a可以在声明的时候初始化,也可以在类外初始化。但不可以通过构造函数初始化列表初始化
  • 相关阅读:
    【字符编码】字符编码 && Base64编码算法
    【JVM】JVM系列之执行引擎(五)
    【JVM】JVM系列之类加载机制(四)
    【JVM】JVM系列之Class文件(三)
    【知识积累】DES算法之C#加密&Java解密
    appium多机并行测试
    Jenkins 传递自定义的参数
    python对ftp进行操作
    Linux下ftp服务器搭建
    appium +ios 判断元素是否存在,排除visible=“false”的数据
  • 原文地址:https://www.cnblogs.com/happygirl-zjj/p/4636208.html
Copyright © 2011-2022 走看看