码迷,mamicode.com
首页 > 编程语言 > 详细

c++存储

时间:2019-11-30 00:24:10      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:入栈   静态   ++   运算   自动完成   内存   存储空间   static关键字   变量   

c++存储

  • 1 自动存储
    • 在函数内部定义的变量使用自动存储空间。被称为自动变量。
    • 在函数调用时自动产生,在函数结束时消亡。
    • 自动变量是一个局部变量,作用域在包含它的代码块。(在一个函数中也可以有代码块)
    • 自动变量存储在栈中。在执行代码时,变量将依次加入栈中。在离开代码块时,将按相反的顺序释放这些变量。
  • 2 静态存储
    • 整个程序执行期间都存在的存储方式。
    • 使变量称为静态的方式有两种。
      • 1 在函数外面定义
      • 2 在声明变量时使用static关键字
  • 3 动态存储
    • new和delete管理着一个内存池。
    • c++中将这个内存池称为自由存储空间或堆。
    • 该内存池和自动存储和静态存储是分开的。
    • new和delete相互影响导致占用堆空间不一定连续。
    • 如果使用new在堆上创建变量后,没有调用delete,即使包含指针内存被释放,该数据内存也依然存在。并且将访问不到该内存区域。这将导致内存泄漏。
    • 要避免内存泄漏,最好同时使用new和delete运算符。c++智能指针有助于自动完成这种任务。16章介绍。

c++存储

标签:入栈   静态   ++   运算   自动完成   内存   存储空间   static关键字   变量   

原文地址:https://www.cnblogs.com/yangzixiong/p/11960742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!