博客
关于我
C++中的auto与static用法
阅读量:311 次
发布时间:2019-03-03

本文共 872 字,大约阅读时间需要 2 分钟。

C++中的静态修饰符

静态修饰符(static)在C++中具有多种用途,主要用于控制变量和函数的链接性和存储持续性。本文将从变量的链接性、函数的链接性以及类成员函数的特殊性等方面详细探讨static的应用。

变量的链接性

静态修饰符用于控制变量的链接性,具体表现为:

  • 外部链接静态变量:未被static修饰的全局变量具有外部链接性,可以被其他文件访问。
    int globalValue = 100; // 外部链接静态变量
  • 内部链接静态变量:在同一文件中定义并用static修饰的变量具有内部链接性,只能在该文件内访问。
    static int fileValue = 200; // 内部链接静态变量
  • 无链接静态变量:在函数或代码块内定义并用static修饰的变量具有无链接性,只能在该函数或代码块内访问。
    int main() {    static int internalValue = 300; // 无链接静态变量}
  • 函数的链接性

    静态修饰符还可用于修饰函数,控制其链接性:

  • 静态函数的内部链接性:在同一文件中定义并用static修饰的函数具有内部链接性,只能在该文件内调用。
    static void function1() {    // 函数体}
  • 静态函数的覆盖作用:如果在多个文件中定义了相同名称的函数,static修饰的函数在该文件中具有优先权,覆盖外部定义。
  • 类成员函数的特殊性

    静态修饰符在类成员函数中的应用有特殊之处:

  • 静态成员函数的调用方式:静态成员函数可以通过类名直接调用,适用于不需要对象的场景。
    static int num() {    return num_string; // num_string必须是静态成员变量}
  • 静态成员函数的访问限制:静态成员函数不能通过对象指针(this)引用调用,适用于不依赖于对象状态的函数。
  • 示例总结

    通过以上示例可以清晰地看到,static修饰符在变量和函数中的应用不仅影响其存储持续性,还显著影响其在程序中的访问范围。理解这些特性有助于编写更高效、更安全的C++代码。

    转载地址:http://ktlm.baihongyu.com/

    你可能感兴趣的文章
    Python函数之返回值、作用域和局部变量
    查看>>
    Python+统计学 | 探索常用的数据分析统计分布
    查看>>
    python, selenium中用于切换帧的函数
    查看>>
    python函数
    查看>>
    python----线程、进程、协程的区别及多线程详解
    查看>>
    python---5
    查看>>
    python---使用celery分布式系统异步发送短信(云通讯)来验证登录
    查看>>
    python--003--百分号字符串拼接、format
    查看>>
    Python--10、线程
    查看>>
    Python--Redis实战:第四章:数据安全与性能保障:第4节:复制
    查看>>
    python--基本代码规范
    查看>>
    Python--抽象类接口类
    查看>>
    PYTHON--欧拉习题二
    查看>>
    python--高级应用总结
    查看>>
    python-520表白代码,我看谁说程序员不懂浪漫,送你几套表白代码,一步到位
    查看>>
    Python-Asyncio TypeError:无法在‘;等待‘;表达式中使用对象DICT
    查看>>
    Python-AttributeError:‘;dict&39;对象没有属性‘;序列‘;
    查看>>
    Python-ldap:是否可以在不显式写入密码的情况下进行绑定?
    查看>>
    python出现 unknown encoding: idna 的处理方法
    查看>>
    Python出现 RuntimeError: dictionary changed size during iteration 的解决方法
    查看>>