[C++] Che cosa garantisce la biblioteca standard sull'assegnazione del movimento autonomo?


Answers

Non succederà nulla. Un operatore di assegnazione intelligente potrebbe restituire immediatamente se &other == this . Altrimenti assegnerà i suoi interni a se stessi, non facendo nulla.

Question

Che cosa dice lo standard C ++ 11 sull'assegnazione del movimento autonomo in relazione alla libreria standard? Per essere più concreti, cosa, se non altro, è garantito su ciò che selfAssign fa?

template<class T>
std::vector<T> selfAssign(std::vector<T> v) {
  v = std::move(v);
  return v;
}