Estoy leyendo el código fuente STL y no tengo idea de qué &&
se supone que debe hacer el operador de dirección. Aquí hay un ejemplo de código de stl_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?
&
, no tendría nada que ver con la dirección del operador, sino que significa que __x
es una referencia.