Operador de doble dirección C ++? (&&)

Estoy leyendo el código fuente STL y no tengo idea de qué&& Se supone que el operador de dirección debe hacer. Aquí hay un ejemplo de código destl_vector.h:

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

¿Tiene sentido "Dirección de dirección"? ¿Por qué tiene dos operadores de dirección en lugar de solo uno?

Respuestas a la pregunta(5)

Su respuesta a la pregunta