Kiedy wywoływany jest konstruktor move w funkcji `std :: move ()`?

Funkcjastd::move() jest zdefiniowany jako

template<typename T>
typename std::remove_reference<T>::type&& move(T && t)
{ 
    return static_cast<typename std::remove_reference<T>::type&&>( t ); 
}

Są cztery miejsca, w których mogę sobie wyobrazić, jak nazywa się konstruktor ruchu:

Gdy parametr zostanie przekazany.Kiedy wykonywana jest obsada.Gdy wynik zostanie zwrócony.Nie wstd::move() sama funkcja, ale prawdopodobnie w miejscu, do którego ostatecznie dociera zwrócona referencja.

Stawiam na numer 4, ale nie jestem w 100% pewien, więc proszę wyjaśnij swoją odpowiedź.

questionAnswers(2)

yourAnswerToTheQuestion