[iOS]iOS中const与static区别和联系

const就是只读的意思,只在声明中使用;

static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放;
对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内函数可见.

static const 应该就是上面两者的合集.

下面分别说明:
全局:

const,只读的全局变量,其值不可修改.</span>
static,规定此全局变量只在当前模块(文件)中可见.</span>

static const,既是只读的,又是只在当前模块中可见的.

static NSString *const  FLV_EXT = @"flv";
static NSString *const  MP4_EXT = @"mp4";
static NSString *const  MOV_EXT = @"mov";
static NSString *const  H264_EXT = @"h264";
static NSString *const  N264_EXT = @"264";

文件:
文件指针可当作一个变量来看,与上面所说类似.
函数:

const,返回只读变量的函数.
static,规定此函数只在当前模块可见.

类:

const,一般不修饰类,(在VC6.0中试了一下,修饰类没啥作用)
static,C++中似乎没有静态类这个说法,一般还是拿类当特殊的变量来看.C#中有静态类的详细说明,且用法与普通类大不相同.
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容