zoukankan      html  css  js  c++  java
  • 深入理解C++内存管理机制

    关于C++的内存处理,可分为三大块,分别是:

    (一)内存管理机制  

    (二)内存泄露处理

    (三)内存回收机制

    这篇文章将就(一)内存管理机制 进行深入探讨,如有错误欢迎大家指正。

    C++的内存管理也可细分为

    1. 程序内存布局

    2. 内存的分配方式

    3. 常见内存错误及对策

    ----------------------------------------------------------------------------

    一. 程序内存布局

    查了相关资料,明白了一点: memory layout of C++/C program is mostly dependent on the Operating System

    So it's an opening question !

    即便如此,当清楚C++程序的内存布局后,我们对变量的生存期、内存的管理,将会有更深刻的认识。

    下面先概括介绍C++程序内存布局,再分别以windows和linux为示例。

    1. C++程序内存布局

    对于分段式内存而言,C++程序所涉及的内存区有:代码段、数据段、堆栈。(见图)

    下面来依次分析C++程序中各个元素所对应的内存位置吧~

    程序代码:存储在代码段,只读。

    变量:

    根据作用域,可分为:全局变量、局部变量

    根据关键字,有:static静态变量、const常量

    根据位置,有:类变量、函数形参

    特殊变量:字面量

    函数:

  • 相关阅读:
    php抽象与接口的区别[转载]
    PHP基础知识(一)
    HTML/CSS方法实现下拉菜单
    SQL语句详细汇总[转]
    (5) 控制器和状态
    (4)模型和数据
    (3)理解代理 proxy
    (2)基于原型的类继承
    (1) basic javascript class
    观察者模式
  • 原文地址:https://www.cnblogs.com/renrenbinbin/p/4465029.html
Copyright © 2011-2022 走看看