例を挙げると
void f(B b, A&& a) {...}
B g(B b, A a) {...}
int main() {
B b;
A a;
f(g(b, a), std::move(a));
}
std::move()
は単なる astatic_cast
であり、収集したものから、すべての関数パラメーターが最初に評価され (順序の保証なし)、コピー/移動されます (パラメーター評価ではなく関数呼び出しの一部であると想定しています) 。関数のコンテキスト。