c++ - 指针是否在堆栈或堆中保存动态变量?
问题描述
我想弄清楚我发现大多数来源都很混乱。
例如,
int *a=new int;
“a”是在堆栈还是堆中,“*a”呢?我发现的大多数资源只涉及堆,我真的需要一个非常具体的答案。我将不胜感激。
解决方案
a
在堆栈中。当范围a
结束时,a
是不可用的。
*a
在堆中。即使在范围a
结束之后,指向的对象a
也会继续存在,除非在此之前释放内存。
推荐阅读
- python - 如何在 PySimpleGUI 中响应窗口调整大小
- json - 使用 g++ 编译器在 VsCode (tasks.json) 中编写多个 .cpp 文件的脚本
- superpower - Superpower Parser:处理组合器中子解析器的部分匹配?
- flutter - 每次更新共享首选项时如何更新 FutureBuilder 文本
- amazon-eks - Springboot 应用部署到 EKS
- forms - symfony 表单类型 translation_domain 不起作用?
- html - 我正在尝试在 HTML 中创建一个包含 4 个总列和 3 个总行的表格,包括标题行,但我当前的代码导致了这个
- nested - Cortex-M3 SysTick 双中断
- c - 在 C 中使用 stat() 获取文件访问权限
- typescript - 接口中的通配符属性名称?