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常量

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

    特殊变量:字面量

  • 相关阅读:
    BZOJ 4503: 两个串 FFT
    [FJOI2014]最短路径树问题
    [JSOI2009]游戏Game
    bzoj 2463 [中山市选2009]谁能赢呢?
    [CQOI2007]余数求和
    [NOI2011]兔兔与蛋蛋游戏
    [HNOI2015]实验比较
    bzoj2125 最短路
    [COGS 2877]老m凯的疑惑
    [HNOI2015]开店
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/10520421.html
Copyright © 2011-2022 走看看