c++ 存储区
1 全局变量 全局存储区
2 普通函数内变量 vs设置的栈大小 存放在这个栈上 是栈变量 栈变量在函数使用结束后内存会被回收 栈会曾使用完后栈减
3 函数参数 在cpu寄存器 速度是最快的 参数在给别的接口或者变量赋值时结束后生命周期结束是一个一个赋的 因为汇编指令一次只执行一个操作 move stuck地址 eax
多个就是
move stuck地址 eax
move eax 新参数
move stuck:+4 eax
move eax 新参数2号
move stuck:+8 eax
4 类
class 是 new 的在堆
class 不是 new 的在栈
堆的一个一个new 存 stl 里
栈的直接 类名 变量名 初始化在构造函数内 手动实现 程序员初始化
5 静态变量
类内 静态变量在全局存储区
类内 静态类在全局存储区
普通文件内全局静态变量 全局存储区
普通文件内全局静态类 全局存储区
6 类内成员参数 创建在栈变量也在栈 创建在堆变量也存在堆(但是运行时类函数整个都在栈上)这个是存储在堆上运行在栈上
虚函数不影响内存分配 虚函数有子孙函数表 使用双冒号可以调用整个孙子到祖先内的函数调用
7 const 常量 在全局存储区 类的根据new不new new在堆不new在栈 使用const_cast<>可以改变常量的值
8 枚举 此变量不是变量 是立即数 编译时直接写到exe中
move stuck:+0 50
浮点数的汇编我也不会还没精力去看,好累好难
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗