私は次のようなオブジェクトを持っています。私は移動コンストラクターを実装しようとしていますstd::vector<Mesh>
。
struct Mesh
{
std::vector<Vector3> vPoint;
bool Valid;
Mesh(Mesh&& other)
{
vPoint = std::move(other.vPoint);
Valid = std::move(other.Valid);
}
};
これは正しい方法ですか?もしそうなら、 std::move が操作された後の other.Valid の値は何ですか?
編集:
また、このオブジェクトのインスタンスがある場合、次のシナリオで std::move を使用する必要がありますか?
std::vector<Mesh> DoSomething()
{
Mesh mesh; //Imagine vPoint is filled here to
std::vector<Mesh> meshes;
meshes.push_back(std::move(mesh)); // Here is my question, std::move? or just pass mesh here?
return meshes;
}