如何查看 静态存储区 的大小和使用情况

beyondlwm 2009-01-14 03:04:58
假如我定义
int test[infinity]
这个时候栈肯定报错

如果我定义
int* test = new int[infinity]

这个时候可以在windows 的任务管理器里看到堆的使用情况

但是如果我定义
static int test[infinity]

却不会有问题,而且任务管理器里显示内存没有额外使用,为什么?我在什么地方可以查看静态存储区的使用情况呢?


最后一个问题是:
const int i = 5;
这个i 在离开作用域以后所占的空间是否会自动释放?(请说出依据!)

谢谢!!
...全文
336 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
waizqfor 2009-01-14
  • 打赏
  • 举报
回复
这个没办法查看吧 自己写程序能解决

const int i = 5;
这个i 在离开作用域以后所占的空间是否会自动释放?(请说出依据!)

const 和作用域没关系,是告诉编译器const定义之后,值不能被修改
放在哪里有就什么样的作用域 至于内存释放 应该是失去作用域以后 被析构函数吸收吧
xiaoyisnail 2009-01-14
  • 打赏
  • 举报
回复
通过任务管理器查看内存情况是不准确的
baichuan0698 2009-01-14
  • 打赏
  • 举报
回复
查看静态存储区的使用情况。
这个需要自己写个小程序试。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧