存储类说明符(Storage class specifiers)

什么是存储类说明符

存储类说明符是一个名字的声明语法的声明说明符序列的一部分

它与名字的作用域一同控制名字的两个独立性质:存储期和链接

  • auto: 只能搭配声明于块作用域或函数形参列表中的对象,指示自动存储期
  • register: 只能搭配声明于块作用域或函数形参列表中的对象,指示自动存储期,提示优化器将此变量的值存储于CPU寄存器,已被C++11弃用
  • static: 只能搭配函数形参列表外的对象声明、块作用域外的函数声明及匿名联合体声明.当用于声明类成员时,它会声明一个静态成员.当用于声明对象时,它指定静态存储期,除非与thread_local协同出现.
  • extern
  • thread_local
  • mutable

声明中只可以出现一个存储类说明符,但thread_local可以与static或extern结合

-------------The End-------------