首页 > 解决方案 > 指针是否在堆栈或堆中保存动态变量?

问题描述

我想弄清楚我发现大多数来源都很混乱。

例如,

int *a=new int;

“a”是在堆栈还是堆中,“*a”呢?我发现的大多数资源只涉及堆,我真的需要一个非常具体的答案。我将不胜感激。

标签: c++

解决方案


a在堆栈中。当范围a结束时,a是不可用的。

*a在堆中。即使在范围a结束之后,指向的对象a也会继续存在,除非在此之前释放内存。


推荐阅读