• keyword static


    1. 不能通过类名来调用类的非静态成员函数

    2. 类的对象可以使用静态成员函数和非静态成员函数

    3. 静态成员函数中不能引用非静态成员

      因为静态成员函数属于整个类, 在类的实例化对象之前就已经分配了空间, 而类的非静态成员必须在类实例化对象后才有内存空间

      

    4. 类的非静态成员函数可以调用静态成员函数, 但反之不行

    5. 类的静态成员函数必须先初始化再使用

    6. 重要特点 

      隐藏: 当我们同时编译多个文件时, 所有未加 static 前缀的全局变量和函数都具有全局可见性

    7. static 的第二个作用是保持变量的持久化

      存储在静态数据区的变量会在程序刚开始运行时就完成初始化, 也是唯一一次初始化. 共有两种变量存储在静态存储区, 全局变量和 static 变量, 只不过和全局变量比起来, static 可以控制变量的可见范围, 说到底, static 还是用来隐藏的

    8. static 的第三个作用默认初始化为 0, 其实全局变量也具有这一个属性, 因为全局变量也存储在静态数据区

      在静态数据区, 内存中的所有字节默认都是 0x00, 某些时候, 这一特点可以减少程序员的工作量

  • 相关阅读:
    struct pack unpack
    读书笔记 第四章&第五章
    The Sieve of Eratosthens(爱拉托逊斯筛选法)
    2013年3月百度之星A题
    2013年3月百度之星B题
    好句子
    BFS 与 DFS
    记录本
    HDU 2028 如何计算最小公倍数?
    HDU 2015 偶数求和 解题报告
  • 原文地址:https://www.cnblogs.com/xinsheng/p/3483373.html
Copyright © 2020-2023  润新知