抱歉标题混乱,不知道取什么标题。我有这个功能:
static void smooth5(IntVector*& v)
{
IntVector* tmp = new IntVector();
for(int i=0; i<v->size(); i+=2)
tmp->push_back(v->at(i));
delete v;
v = tmp;
}
主要是我这样做:
IntVector* v = new IntVector();
v->push_back(0);
v->push_back(1);
v->push_back(2);
v->push_back(3);
smooth5(v);
//print the contents of v
当我打印v的内容时,输出是0 2。但是我不明白什么
IntVector*& v
实际上意味着当 v 是指向堆上对象的指针时。有人可以解释一下吗?