摘要: 最近跑一个程序,结果2G内存用完了,结果也没算出来,出现std::bad_alloc,应该是程序中某个地方内存空间没有及时释放,开始检查程序。发现好多地方用到vector,而且有些会很大,并且只是中间结果,只是因为需要在多个地方访问,定义为了类的成员变量,要等到这个类解析的时候才释放空间,看来应该在程序中,它的中间作用结束之后便释放内存。于是开始探索如何释放vector的内存。1、vector的成员函数 clear()clear()只是清除vector中的变量,并不释放内存。一个简单的测试程序如下,int main(){ vector<double> a; for(unsigned 阅读全文
posted @ 2011-05-11 19:07 Frandy.CH 阅读(6058) 评论(10) 推荐(0) 编辑