¿Cuándo se llama el constructor move en la función `std :: move ()`?
La funciónstd::move()
Se define como
template<typename T>
typename std::remove_reference<T>::type&& move(T && t)
{
return static_cast<typename std::remove_reference<T>::type&&>( t );
}
Hay cuatro lugares donde puedo imaginar al constructor de movimiento que se llamará:
Cuando se pasa el parámetro.Cuando se realiza el reparto.Cuando se devuelve el resultado.No en elstd::move()
Funciona en sí misma pero posiblemente en el lugar donde finalmente llega la referencia devuelta.Apostaría por el número 4, pero no estoy 100% seguro, así que explique su respuesta.