zoukankan      html  css  js  c++  java
  • static

    特点:

      一般情况,一个类实例化的不同对象的数据成员存储空间相互独立。

      若将类的一个成员定义为静态型的,则其实例化的所有对象的该成员用同一存储空间

    静态数据成员:

    1)定义:加关键字 static

    2)初始化:必须在类外进行初始化,格式:<类型标识符> <类名> :: <静态数据成员名> = <值>;

        例:int Sample :: sum = 0;

    静态成员函数:

    1)引用: <类名>::<静态成员函数名>

    2)访问数据成员:

      对于非静态数据成员:需要传入实例化对象,不可直接访问

      对于静态数据成员: 可直接访问,直接用静态数据成员名

    练习:剑指offer 面试题46

      题目: 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

      通过构造函数和静态成员求解

      

    static作用:

    内存只分配一次,存在于全局区,在程序结束之后,由操作系统释放

    若static变量未初始化,默认初始化为0;

    1)函数体内,static变量

      作用范围:该函数体内

      值:下次调用时仍维持上次的值

    2)模块内,

      1)static全局变量:

          作用范围:模块内,可以被所有函数访问,但不能被模块外其他函数访问

      2)static函数:

          作用范围:模块内,可以被其他函数调用

    3)类内

      1)static成员变量

          作用范围:整个类所有,对类的所有对象只有一份复制(必须类外初始化

      2)static成员函数

          作用范围:整个类所有,不接受this指针,故只能访问类的static成员变量

      

        

  • 相关阅读:
    ab测试curl json语句
    Python进阶-----静态方法@property,@classmethod,@staticmethod【转】
    staticmethod写和不写有什么区别?【转】
    使用 febootstrap 制作自定义基础镜像【转】
    k8s
    Linux服务器扩容VG时报错 Couldn't create temporary archive name.
    2020年的一些思考和总结
    谈谈FTP
    NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
    Centos7 cache/buff过高处理方法
  • 原文地址:https://www.cnblogs.com/MissZhang-154/p/13494688.html
Copyright © 2011-2022 走看看