Advertisement

C++对象(七):内存管理

阅读量:

C++面向对象(七):对象的内存、内存布局与管理

文章目录

    • C++面向对象(七):对象的内存、内存布局与管理
      • 对象的内存

        • 对象的内存布局
      • 内存管理

      • 内存空间布局

      • 函数代码在代码区的调用

      • 为什么需要堆空间?

对象的内存

对象的内存可以存在于3种地方

  • 全局存储区(数据段):全局变量
    • 栈内局部存储区:函数内部的局部变量
    • 动态内存分配区域:malloc、new等动态内存申请指令
复制代码
    // 全局区
    Person g_person;
    int main() {
    // 栈空间
    Person person;
    //堆空间,取决于Person需要多少空间
    // 这里指针对象在栈空间
    Person *p = new Person;
    return 0;
    }
对象的内存布局

类中有多个成员变量时的内存布局

复制代码
    class Person {
    public:
    	int m_id = 1;
    	int m_age = 2;
    	int m_height = 3;

全部评论 (0)

还没有任何评论哟~