C++中extern、static、const、volatile等关键字详解

extern

作用

  1. 当extern与“c”在一起使用时,如:extern “C” void fun(int a,int b)则告诉编译器fun这个函数名时按着c的规则去翻译相应的函数名而不是c++的
  2. 当extern 不与“c”一起修饰变量或函数时,其作用就是声明函数或变量的作用范围。extern的作用范围为本模块或其他模块。

static

static修饰内置类型变量为静态变量

  1. 静态变量只初始化一次,未初始化的静态变量会默认初始化为0。

  2. 静态全局变量只在本文件可见,外部文件无法访问

  3. 而静态局部变量只在定义的作用域内可见,但他们的生存周期都是整个程序运行时期

static修饰函数为静态函数

static修饰的函数只允许在当前文件中使用,在其他文件中无法找到该函数的地址。不可以被其他文件引用,且不会与其他文件中的同名函数冲突。

static修饰成员变量为静态成员变量

  • 所有对象(包括派生类的对象)共享同一份数据
  • 在编译阶段分配内存
  • 类内声明,类外初始化(不可使用构造函数初始化)

static修饰成员函数为静态成员函数

    • 1
      点赞
    • 1
      收藏
      觉得还不错? 一键收藏
    • 打赏
      打赏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    雨果同学的编程之路

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值