vector内存释放

转载 2013年12月03日 19:17:15

原文:http://www.cnblogs.com/EE-NovRain/archive/2012/06/12/2546500.html

#include<iostream>
#include<vector>
using namespace std;
void main(){
vector<int> vec;
    for(int i=1;i<=10;i++){
        vec.push_back(i);
        cout<<vec.size()<<"  "<<vec.capacity()<<endl;
    }
    cout<<endl;
    for(int i=1;i<=10;i++){
        vec.pop_back();
        cout<<vec.size()<<"  "<<vec.capacity()<<endl;
    }
    cout<<endl;
    if(true){
        vector<int> temp;
        vec.swap(temp);                       //通过swap()函数释放内存;
    }
cout<<vec.size()<<"  "<<vec.capacity()<<" "<<vec.max_size()<<endl;
}

相关文章推荐

Vector的内存释放

最近跑一个程序,结果2G内存用完了,结果也没算出来,出现std::bad_alloc,应该是程序中某个地方内存空间没有及时释放,开始检查程序。发现好多地方用到vector,而且有些会很大,并且只是中间...

vector内存释放机制

vector   中的内建有内存管理,当   vector   离开它的生存期的时候,它的析构函数会把   vector   中的元素销毁,并释放它们所占用的空间,所以用   vector   一般不...
  • Gypsyy
  • Gypsyy
  • 2012年06月11日 15:51
  • 7970

【转】[STL]vector和deque的内存释放(clear)

vector的clear成员函数可以清除vector中的元素,使其大小减至0。但它却不能减小vector占用的内存。 int main() { vector v(1U...

vector内存释放方法

vector容器是自增长的。一般的,在容器对象中insert或push一个元素时,该对象的大小增加1。.而且vector中的元素是连续存放的,当在容器中增加一个新元素时,如果原来的储存空间刚好被用完,...

vector的内存释放

http://www.cnblogs.com/summerRQ/articles/2407974.html vector : C++ STL中的顺序容器,封装数组   1...

关于opencv中Vector内存释放或者元素清空的问题

目的:在一个循环中,每一次循环结束都要清空这个vector容器以供下一次循环再利用这个vector 方法: vectorm1; vectorm2; m1.swap(m2); 这样就把m1中的...

C++:vector利用swap()函数进行内存释放源码

vector与deque不同,其内存占用空间只会增长,不会减小。比如你首先分配了10,000个字节,然后erase掉后面9,999个,则虽然有效元素只有一个,但是内存占用仍为10,000个。所有空间在...

STL之vector内存释放

相信搜索这个问题的大家已经知道vector的clear()只能对vector中的元素个数清空,但是并不能释放相应的空间。swap 释放内存方法网上有不少相关的文章介绍利用vector的swap()进行...

内存释放2.0.rar

  • 2012年06月15日 17:52
  • 1.88MB
  • 下载

内存释放精灵.e

  • 2012年10月17日 11:45
  • 11KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vector内存释放
举报原因:
原因补充:

(最多只允许输入30个字)