• C++知识点(五)数据共享与保护


    1.标识符的作用域、可见性、生存期

    作用域:

    • 函数原型作用域:函数声明时使用
    • 局部作用域:{}
    • 类作用域 :
    • 文件作用域
    • 命名空间作用域:using 

    可见性:从内向外看,应用场景:重复的标识符的可见性

    生存期:

    • 静态生存期:static
    • 动态生存期:  

    2.类的静态数据成员

    • static修饰
    • 属于整个类,不属于某个对象
    • 声明在类内,定义和初始化在类外

    3.类的静态成员函数

    • 用于处理静态数据成员
    • 不能知道是哪个对象调用了该函数

    4.类的友元

    • friend修饰
    • 破坏数据封装和数据隐藏的机制,增加灵活性
    • 友元函数
      • 在友元函数中可以访问private和protected成员,需通过对象访问(对象的常引用做参数)
    • 友元类
      •  单向友元

    5.共享数据的保护:常类型const

    • 常类型:
      • 常对象:定义时初始化,const 类名 对象名
      • 常成员:
        • 常数据成员
        • 常成员函数:
          • 类型说明符  函数名(参数表) const
          • 只处理常对象
          • 成员函数加const和不加const,是有区别的,在处理常对象时,编译器会自动调用常成员函数
      • 常引用:const 类型说明符 &引用名
      • 常数组:类型说明符 const 数组名[大小]
      • 常指针:

    6.多文件结构

    • 类声明文件(.h)
    • 类实现文件(.cpp)
    • 类的使用文件(main()所在.cpp)

     外部变量:extern

     外部函数:调用前进行声明即可

    将变量和函数限制在编译单元内: namespace

    标准C++库:输入输出类、容器类和抽象数据类型、存储管理类、算法、错误处理、运行环境支持

    编译预处理:

    • #include
      • #include<> 系统库文件
      • #include(.h) 自定义库文件
    • #define
      • const取代字符常量
      • inline取代宏定义
    • #undef
    • #if常量表达式...#endif
    • #if常量表达式...#else...#endif
    • #if常量表达式1...#elif常量表达式2...#endif
    • #ifdef标识符...#else...#endif
    • #ifndef标识符...#else...#endif
  • 相关阅读:
    wget
    android layout 布局属性
    Android 官方推荐 : DialogFragment 创建对话框
    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
    Android Fragment 真正的完全解析
    Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
    Visual Studio VS2013模块对于SAFESEH 映像是不安全的 怎么办
    PS 图层后面有索引两字怎么办
    PS 如何使用液化工具给人物减肥
    PS 图层后面有索引两字怎么办
  • 原文地址:https://www.cnblogs.com/lemon333333/p/10237702.html
Copyright © 2020-2023  润新知