Я читал книгу о структуре данных, реализованной в C ++, я не понимаю фрагмент кода , это часть векторного класса
void push_back(object &&x) {
//do something
objects[size++] = std::move(x);
}
Я знаю, что std::move
возвращает ссылку на значение объекта,но функция-член push_back
уже имеет в качестве параметра ссылку rvalue x
, здесь std::move
здесь не нужноиспользовать std::move
на своем члене, если мы хотим вызвать перемещение вместо копирования, верно? как код ниже:
A& operator=(A&& other) {
member = std::move(other.member);
return *this;
}