C中的forsee std :: bad_alloc

weixin_38054840 2019-09-12 10:38:28
据我所知,当程序内存不足时,会触发C中的std :: bad_alloc异常.有没有办法监控剩余的内存量,并在我们到达不归路之前触发特殊程序?
...全文
14 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38102077 2019-09-12
  • 打赏
  • 举报
回复
不,但是你可以用std::set_new_handler注册一个处理程序,全局运算符new()的默认实现在循环中执行,直到处理程序没有返回或者没有注册进一步的处理程序.处理程序本身可能会尝试释放更多内存,或发布日志消息或类似内容. 但是,分配功能可用内存的具体细节在很大程度上取决于您的平台和操作系统,所以不要期望太多. 例如,在超额预订内存的系统上,您的分配可能会成功,但您的程序仍可能因为系统内存不足而死亡.

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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