C++11

2017-12-10  本文已影响12人  Elinx

Move语义

move构造函数

class vector {
    vector(vector&& v) : my_size(v.my_size), data(v.data) {
        v.data = 0; v.my_size = 0;
    }
}

move赋值构造函数

class vector {
    vector& operator=(vector&& src) {
        assert(my_size == 0 || my_siz == src.my_size);
        std::swap(data, src.data);
        return *this;
    }
};

move语义什么时候用呢?

上一篇 下一篇

猜你喜欢

热点阅读