首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于c++中的std:bad_alloc的解决办法

2013-01-23 
关于c++中的std::bad_alloc的在new的时候出现了bad_alloc,感觉是内存泄露,但是仔细检查了一下自己的代码,

关于c++中的std::bad_alloc的
在new的时候出现了bad_alloc,
感觉是内存泄露,但是仔细检查了一下自己的代码,该delete的局部空间都delete了。。。
而且本身分配的空间也不是特别大,不知道为什么会这样。

后来想到会不会是new和delete的操作过于频繁导致的类似问题?
有没有高手能解答一些,new和delete次数太多,就算即时释放分配的空间,也会造成内存占用过大么? c++
[解决办法]
重点查内存越界
[解决办法]
事实超乎你的想象,我一个朋友用vector直接把内存吃光了,你好好检查下
如果有很多个的话,不妨手动清空掉,或者你不用vector试试,估计就不会出问题了
主要你知道吗,vector不止是出现内部内存碎片,它还导致外部内存碎片

vector开辟的是一个连续的空间,比方你这个空间是100M,分配不出来这么大的连续空间就报错了。
即使内存里还有1G但是没有连续100M的空间也会bad_alloc的
[解决办法]
用valgrind清理一下内存错误提示

热点排行