存储类
[转自]通关旅的博客
在C++中有5个存储类说明符,auto,register, extern mutable 和static.
存储类说明符可以分为两个存储类,"自动存储类"和"静态存储类"
auto和register用于声明自动存储类的变量,此类变量是在进入声明的块时创建的,它们只存在与块被激活的期间,当程序执行退出块时,这些变量就会被删除。
只有变量可以作为自动存储类,函数的局部变量和参数通常属于自动存储类。
auto double x, y;
注意:用自动存储可以节省内存,我做程序的宗旨就是简单有效的是使用内存,为了能有效的使用内存,
我都是尽量有效的规划我的资源.
对比auto,register 只能随局部变量和函数参数一起使用。
register int x = 1;
关键字extern 和 static 是用于声明变量和静态存储类函数的说明符,它们存在于程序开始执行时,程序在开始时就为它们分配了初始化的存储空间,但并不意味着这些标识符可用于整个程序中,其还有作用域的约束 。