关于vector回收的有关问题

关于vector<int>回收的问题
是这样的:我需要在一个函数里面用到容器,然后往容器里面插入元素,接着用插入的这些元素做一些操作,最后当我不再用到这些元素时,我想回收之前的内存,如何做?(因为是局部变量是系统自动回收,还是需要手动clear)
类似:
void InsertValue()
{
  vector<int> vcIter;
  for(int iIndex = 0; iIndex <10000 ;++iIndex)
  {
  vcIter.pushback(iIndex);
  }
  //接着遍历容器内的元素做某些事情
  。。。。。。
  //最后容器里面的元素不再使用了,想要回收之前的内存,下面这种方式对吗?但是我用了之后感觉只回收了一部分。
  vcIter.clear();
  vcIter.swap(vector<int>());
}
谢谢答疑。

------解决方案--------------------
C/C++ code
vcIter.clear();
  vcIter.swap(vector<int>());

------解决方案--------------------
vcIter.clear();
可以释放也可以不释放
它是局部变量,超过了作用域就会自动释放的
一般情况下,如果里面存放的是指针要循环释放,普通变量不需要
------解决方案--------------------
不用clear,超出作用域就会自动释放。真要手动释放应该可以用reserve(0),不过我没试过
------解决方案--------------------
vector:无须你自己释放,然后对于你的程序而已,退出的时候局部变量自动销毁。
v.clear():只是将v.size()设置到为了0.