Storage duration
这个是描述变量的生命周期的,分为四类
- automatic: 生命周期在代码块内,在代码块内分配内存,在代码块内析构
- static:生命周期是整个程序。分配内存的时机是程序开始前,析构是在程序结束之后(和static 关键词没有太大关系)
- thread: 生命周期是线程开始和线程结束
- dynamic:动态生命周期,一般是new、malloc一类
Linkage
linkage 描述的是变量可见性,分为三种:
- no linkage: 当前代码块可见
- internal linkage:当前编译单元内可见
- external linkage:其他编译单元可见
Storage-class specifiers
Storage-class specifiers 分为四类:
- auto
- register
- static
- extern
这四个Storage-class specifiers 会映射Storage duration
和Linkage