の深いコピーを作成するためにmyArr、
vector <Point> myArr;
Pointメンバーとして2つのintを持つクラスはどこにありますか
何か特別なことをする必要がありますか?または大丈夫です
vector <Point> otherArr = myArr;
いくつかのポイントを削除する必要がありますotherArrが、同時にmyArr、後で使用するためにすべてのポイントを削除する必要があります。
前もって感謝します
浅いコピーと深いコピーおよび効果的なC++を参照してください。
Pointディープコピーは必要ありません。経験則として、クラスにポインタメンバーがある場合は、「ディープコピー」が必要です。Pointクラスのintメンバーは2人だけなので、「ディープコピー」の特別な作業は必要ありません。通常のコピーまたは「浅いコピー」で問題ありません。実際、のコピーコンストラクターを作成する必要Pointはありません。コンパイラーによって提供されるデフォルトまたは合成されたコンストラクターで十分です。
あなたの2番目の質問に関して、行の後
vector< Point > otherArr = myArr;
が実行され、otherArr2myArrつの独立したベクトルです。それらの1つで実行される操作(たとえば、いくつかの要素の削除)は、他の要素にはまったく影響しません。
割り当ては問題ないはずです。すべてのデータが正しくコピーされていることを確認します。Pointがコピー可能であることを確認してください。
あなたが持っているものは大丈夫です。ベクトルには、ディープコピーを実行するオーバーロードされた代入演算子とコピーコンストラクターがあります。