これは愚かな質問ですが、私はこれをどのように達成するか考えていません。C++でポインタを移動するにはどうすればよいですか?
私はオブジェクトとベクトルを持っています。実行中の設定された時間に、私はこのオブジェクトをベクトルに入れ、このオブジェクトを新しいオブジェクトで上書きする必要があります。私は現在、これを持って、私はいくつかの理由は、ポインタ関連の理由で間違っていると仮定し
std::vector<Cube*> cubes;
Cube* workingCube = new Cube();
...
cubes.insert(cubes.begin(), workingCube);
workingCube = new Cube();
。私はこれを正しく行う方法を理解することはできません。
std::vector<Cube> cubes;
Cube workingCube;
cubes.insert(cubes.begin(), workingCube);
workingCube = Cube();
場合Cube
をすることができます容器にstd::move(workingCube)
ではなく、移動にコピーするには高価しかし安いです:私たちは、ポインタと明示的な動的な割り当てを避ける場合
新しいプレースメントを使用できますが、これは悪いデザインです。たぶん、スマートなポインタが根本的な問題を解決することができます。 – BatchyX
@CarlNorum私の一部のタイプミスのビットが修正されました。 – Valyrion
@BatchyX:新しい配置がどのように質問に関連しているのか見当たりません。 –