C++ 存储类指定符

一 存储类指定符

1 auto

  • 自动存储期。(C++11 前)
  • auto 不再是存储类指定符,它被用于指示类型推导。(C++11 起)

2 register

  • 自动存储期。亦提示编译器将此对象置于处理器的寄存器。(C++17 前).
  • 弃用(C++17起)

3 static

  • 静态或线程存储期和内部链接。

4 extern

  • 静态或线程存储期和外部链接。

5 thread_local

  • 线程存储期。(C++11 起)

6 mutable

  • 关键词 mutable 在 C++ 文法中是存储类指定符,尽管它不影响存储期或链接。

二 注意

  1. 在同一个声明中不能使用多个指定符,但thread_local除外,它可与static或extern结合使用
  2. extern 关键词亦可用于指定语言链接和显式模板实例化声明,但在这些情况中不是存储类指定符。
  3. 关键字register最初是由C语言引入的,建议编译器使用CPU寄存器来存储自动变量,只在提高访问变量的速度。C++11中只是显示指出变量是自动的,与原来的auto用途完全相同(未删除是为了老代码兼容)。
  4. mutable指出即使结构(或类)变量为const,其某个成员也可以被修改。

三 参考

存储类指定符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值