【C++】内存是什么?自动存储、静态存储、线性存储、动态存储的持续性如何理解?

举报
王博Kings 发表于 2020/12/30 00:14:40 2020/12/30
【摘要】 内存有关的知识: C++使用三种不同方案来存储数据,C++11是四种,这些方案的区别在于数据保留在内存中的时间 1. 自动存储持续性: 在函数定义中声明的变量(包括函数参数)的存储持续性为自动的。他们在程序开始执行其所属的函数或者代码块时被创建,在执行完函数或者代码块时,他们实用的内存被释放。C++有两种存储持续性为自动的变量 2. 静态存储持续性: 在函数定义外定...

内存有关的知识:

C++使用三种不同方案来存储数据,C++11是四种,这些方案的区别在于数据保留在内存中的时间

1. 自动存储持续性:

在函数定义中声明的变量(包括函数参数)的存储持续性为自动的。他们在程序开始执行其所属的函数或者代码块时被创建,在执行完函数或者代码块时,他们实用的内存被释放。C++有两种存储持续性为自动的变量

2. 静态存储持续性:

在函数定义外定义的变量和使用关键字static定义的变量的存储持续性都为静态。它们再 

程序整个运行过程中都存在。C++有3种存储持续性为静态的变量。

3. 线程存储持续性(C++11):

当前,多核处理器很常见,CPU可以同时处理多个执行任务。让程序能够将计算放在可并行的不同线程 中。如果变量时使用关键字thread_local声明的,则其生命周期与所属线程一样长。

4. 动态存储持续性:

使用new运算符分配的内存将一直存在,直到使用delete运算符将其释放或程序结束为止。这种内存存储的持续性为动态,有时被称为自由存储(free store)或者堆(heap)

 

 

(9.2开始)

文章来源: kings.blog.csdn.net,作者:人工智能博士,版权归原作者所有,如需转载,请联系作者。

原文链接:kings.blog.csdn.net/article/details/96104527

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。