当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C++中auto、static、register和extern等变量讲解

C++中auto、static、register和extern等变量讲解

2018年09月29日  | 移动技术网IT编程  | 我要评论

枪支走火殉职,华为 年终奖,我的琥珀色能量

auto变量

表明变量自动具有本地范围,在离开作用域时,无论是块作用域还是文件作用域亦或是函数作用域,变量都会被程序隐藏或者自动释放。然后等你重新进入该作用域,变量又被重新定义或调用。使用auto变量的优势是无需考虑变量是否被释放。

static变量

变量定义的位置决定它的作用域。无论定义在函数内还是函数外,它的生存期是永久的,直到程序结束,才会释放,无需手动释放。若在函数内定义,在函数调用结束后,该变量也不会被释放,保持最后的变量值。

register寄存器型变量

这个关键字要求编译器尽可能的将变量存储在cpu内部寄存器中,而不是通过内存寻址访问,以提高效率。但是这只是给系统的一个暗示,如果寄存器资源有限,系统也不会满足你的要求。register型变量存取速度比内存快多了,一般在一些系统库文件或接口库中使用的多,正常能用上较少。

extern外部变量

它属于声明变量,extern int? s和int s的区别就是,前者告诉编译器,有一个int型变量s定义在其他地方,如果有调用请去其他文件中查找定义;后者是在此处定义一个int型变量s。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网