c++中变量的存储种类

1 全局变量

在所有函数之外定义的变量是全局变量,它的生命周期直到程序结束。程序中的所有部分都对该变量可见。通过extern关键字,甚至外部文件也可以访问该变量。

2 局部变量

局部变量在函数体内声明,其作用域只在该函数体内。其中局部变量有一下2中情况:

(1)寄存器变量

在声明局部变量的时候,使用关键字register可以暗示编译器"应该尽可能快的访问该变量",但这仅仅是暗示,编译器并不一定会将该变量放入寄存器中,甚至也不一定保证提高访问速度。而且,对于register变量还有限制,不能获取register变量的地址或者引用,然而可以再一个函数的参数列表中使用register变量作为形参。最好避免使用register参数。

(2) static变量

将函数内的局部变量声明成static,那么局部变量的生命周期就不在是该函数被调用的时刻,而是整个程序的整个生命期里都存在,并且只在函数第一次调用的时候初始化一次。它与全局变量的区别是,static变量在其存在的函数外部不可见。

对于static关键字,它还有第二层意思:"在文件外部不可访问这个名字",因此,当static应用于函数名或者所有函数外部变量时,其他外部文件无法访问它们,即使用extern关键字也一样。

3 常量

c++中有命名常量的概念,它和变量一样,只是值不能改变,它通过关键字const声明。所有的内建数据类型和用户自定义类型都可以声明成const。

原文链接: https://www.cnblogs.com/chaoguo1234/archive/2013/03/30/2989968.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c++中变量的存储种类

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/82616

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午8:40
下一篇 2023年2月9日 下午8:41

相关推荐