一、内存分区模型 1.1 内存分区模型 C++程序在执行时,内存大致分为四个区域 代码区:存储函数体的二进制代码 全局区:存放全局变量、静态变量和常量 栈区:由编译器自动分配释放,存放函数的参数值、局部变量等 堆区:由程序员分配和释放,程序结束时由操作系统回收 1.1.1 程序运行前 在程序运行前,生成了exe可执行程序,未执行该程序前分为两个区域 代码区: 存放CPU执行的机器指令 代码区是共享的,对于频繁执行的程序在内存中只需要有一份代码即可 代码区是只读的,防止程序意外修改他的指令 全局区: 全局变量和静态变量存储在此区域 全局区还包含了常量区,字符串常量和const修饰的全局常量也在这个区域 该区域的数据在程序结束后,由操作系统释放 #include <iostream> #include <string> using namespace std; // 定义全局变量 int global_a = 1; int global_b = 1; // const修饰全局变量 int const_global_a = 1; int const_global_b .... 有更新! c++面向对象 c++