博客
关于我
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 实现自动化测试 dubbo 协议接口
    查看>>
    python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解
    查看>>
    Python 对mysql数据库的操作
    查看>>
    Python 对象数据库列表
    查看>>
    Python 导入requests报错No module named requests
    查看>>
    python 将函数加到列表中进行调用
    查看>>
    python 将图片与字符串相互转换
    查看>>
    Python 嵌套字典全面指南
    查看>>
    Python 常见的错误类型和继承关系
    查看>>
    python 常量_零基础学Python系列之一:Python的变量与常量
    查看>>
    Python 并发编程
    查看>>
    python 序列化操作
    查看>>
    Python 开发者,这 7 个 VS Code 插件极力推荐
    查看>>
    python手把手视频_硬货 | 手把手带你构建视频分类模型(附Python演练))
    查看>>
    python 录音左右声道_Python分离立体声wav压缩文件的左右声道
    查看>>
    Python 循环异或对文件进行加解密
    查看>>
    Python开发环境搭建(附VMware安装包及虚拟机环境)
    查看>>
    python 微信扫码登录_python实现微信第三方网站扫码登录(Django)
    查看>>