小编amc*_*176的帖子

根据移动赋值运算符移动构造函数

在我们项目的代码库中,我发现了这样的事情:

struct MeshData {
    MeshData() {}
    MeshData(MeshData&& obj) { *this = std::move(obj); }
    MeshData& operator=(MeshData&& obj) {
        if (this != &obj) {
            indexes = std::move(obj.indexes);
        }
        return *this;
    }
    std::vector<int> indexes;
};
Run Code Online (Sandbox Code Playgroud)

在移动分配方面实现移动构造对我来说似乎是一个聪明的想法,减少了代码重复,但在查找信息之后,我没有找到任何关于此的具体建议.

我的问题是:这是反模式还是有任何不应该做的情况?

c++ move c++11

3
推荐指数
1
解决办法
496
查看次数

标签 统计

c++ ×1

c++11 ×1

move ×1