Оператор двойного адреса C ++? (&& )

Я читаю исходный код STL и понятия не имею, что должен делать оператор адреса && . Вот пример кода из stl_vector.h :

vector&
operator=(vector&& __x) // <-- Note double ampersands here
{
    // NB: DR 675.
    this->clear();
    this->swap(__x); 
    return *this;
}

Имеет ли смысл «Адрес адреса»? Почему у него два адресных оператора вместо одного?

116
задан Philip Kirkbride 19 April 2017 в 00:00
поделиться