Когда вызывается конструктор перемещения в функции `std :: move ()`?

Функцияstd::move() определяется как

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

Есть четыре места, где я могу представить конструктор перемещения для вызова:

Когда параметр передан.Когда приведение исполнено.Когда результат возвращается.Не вstd::move() функции, но, возможно, в том месте, где в конечном итоге возвращается возвращаемая ссылка.

Я бы поставил на номер 4, но яЯ не уверен на 100%, поэтому, пожалуйста, объясните свой ответ.

Ответы на вопрос(2)

Ваш ответ на вопрос