博客
关于我
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/

    你可能感兴趣的文章
    Python3 tutorial day3
    查看>>
    python3 week4
    查看>>
    Python3 创建数组
    查看>>
    python3 套接字异常(a byte-like object is required not str)
    查看>>
    python3 实现用户三次输入错误记录黑名单并对该用户登录锁定-day1
    查看>>
    python3 文本变图片
    查看>>
    Python3 查看 com 组件的属性
    查看>>
    python3 案例分享--发邮件
    查看>>
    python3 模板库_Python3 标准库概览_Python教程_我爱模板网 - 提供下载各种免费建站资源,免费网站模板,免费网页特效,让你爱上建站!...
    查看>>
    Python3 求最大/小值及索引值 Numpy
    查看>>
    python3+django使用celery执行某些任务失败的解决方案
    查看>>
    Python3+Requests+Unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【二】
    查看>>
    Python3+Requests+Unittest实战系列【二】
    查看>>
    python3----ASCII
    查看>>
    Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!
    查看>>
    Python3-如何自我更新作为服务运行的应用程序
    查看>>
    Python3.1-网格模拟概念性问题
    查看>>
    Python3.12 解决conda环境libstdc++版本过低问题
    查看>>