Я читаю исходный код STL и понятия не имею, что &&
должен делать адресный оператор. Вот пример кода из stl_vector.h
:
vector&
operator=(vector&& __x) // <-- Note double ampersands here
{
// NB: DR 675.
this->clear();
this->swap(__x);
return *this;
}
Имеет ли смысл «Адрес адреса»? Почему у него два оператора адреса вместо одного?
&
, он не имел бы ничего общего с оператором address-of, но вместо этого означал бы, что __x
это ссылка.