タイトルがわかりにくかったので、紛らわしいタイトルで申し訳ありません。私はこの機能を持っています:
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 がヒープ上のオブジェクトへのポインターであることを意味します。誰か説明してくれませんか?