私は以下のことをしたいと思います。私はコピーする代わりにベクトルの名前を変更
vector<double> &vector1 = vector2;
vector2.clear();
をしようとしていた
//have two vectors: vector1 (full of numbers), vector2 (empty)
//with vectors, I mean STL vectors
//outer loop
{
//inner loop
{
//vector2 gets written more and more over iterations of inner loop
//elements of vector1 are needed for this
} //end of inner loop
//now data of vector1 is not needed anymore and vector2 takes the role of
//vector 1 in the next iteration of the outer loop
//old approach (costly):
//clear vector1 ,copy vector2's data to vector1, clear vector2
//wanted:
//forget about vector1's data
//somehow 'rename' vector2 as 'vector1'
//(e.g. call vector2's data 'vector1')
//do something so vector2 is empty again
//(e.g. when referring to vector2 in the next
//iteration of outer loop it should be an empty vector in the
//beginning.)
} // end of outer loop
が、私はこの問題は、ベクトル1は、その後、その後、削除されたベクトル2、への参照であるということだと思う。しかし、方法がわかりません。
アイデア?
別のベクターへの参照を使用して、ベクター内のデータを削除することはできません。 vector2のデータを削除したいのにvector1に保存したい場合は、**コピー**を作成する必要があります。 –
私はデータをコピーする必要がありますが、私が望むのは既存のデータとは異なる名前です。私はそれがこのような参照とはうまくいかないことを知っていますが、別のアイデアが必要であることを望んでいました。 – user1304680
"ベクターの名前を変更する"の全体的なポイントは何ですか? –