C++中内存模型的几种存储说明符(auto , register, static ,extern,mutable)

关键字提供的存储说明符有auto , register, static ,extern,mutable,C-V限定符有const和volatile.

1.auto用在将变量声明为自动变量,就是留出一段内存,成为堆栈,以管理变量的增减,这个过程是自动完成的.

2.register关键字用来声明局部变量.寄存器变量是存储持续性为自动的,能提供对变量的快速访问,但是分配空间与回收都取决与CPU.如果该变量被频繁使用,就请声明为register变量.

3.static 静态变量.未被初始化的静态变量一般都被设置成0,只能用常量表达式来初始化静态变量.可以使用const常量和enum常量以及sizeof操作符,static变量将被分一块独立的内存空间.

4.extern 重新定义以前定义过的外部变量,该变量将自动隐藏定义过的外部变量.

5.const 表明程序对他进行初始化以后,便不能再被修改了.

6.volatile .即使程序代码没有对内存但愿进行修改,其值也可能发生变化.

7.mutable 即使结构或者类变量为const.其某个成员也可以被修改,

原文链接: https://www.cnblogs.com/sunliming/archive/2010/10/09/1846651.html

欢迎关注

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

    C++中内存模型的几种存储说明符(auto , register, static ,extern,mutable)

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

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

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

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

(0)
上一篇 2023年2月7日 下午4:00
下一篇 2023年2月7日 下午4:00

相关推荐