请教vector在堆上还是栈上增长

请问vector在堆上还是栈上增长
vector<int*> *p = new vector<int*>;
int M = 8888;
for(int i=0;i<M;++i)
{
  p->push_back(0);
}
vector肯定是要消耗内存了,请问一下是在栈上还是堆上,
如果是栈上,如何才能让p在堆上增长?
多谢

------解决方案--------------------
堆上……
楼主不必操心
------解决方案--------------------
无论你的定义是:
vector<int*> *p = new vector<int*>;
还是
vector<int*> p;
其元素都是在堆上进行分配。