Sdílet prostřednictvím


move

Bezpodmínečně přetypuje svůj argument na odkaz hodnoty rvalue a značí, že ji lze přesunout, pokud je pro její typ přesunutí povoleno.

template<class Type>
    typename remove_reference<Type>::type&& move(Type&& Arg) noexcept;

Parametry

Parametr

Popis

Type

Typ odvozený od typu argumentu předaného v Arg společně s pravidly pro sbalení odkazu.

Arg

Argument, který chcete přetypovat.Ačkoli se typ Arg jeví jako zadaný jako odkaz hodnoty rvalue, move také přijímá argumenty hodnoty lvalue, protože odkazy lvalue se mohou vázat na odkazy rvalue.

Vrácená hodnota

Arg jako odkaz rvalue, ať už je jeho typ typem odkazu, či nikoli.

Poznámky

Argument šablony Type není určen k explicitnímu určení, ale k odvození od typu hodnoty předané v Arg.Typ Type je dále upraven podle pravidel sbalení odkazů.

move nepřesune svůj argument.Místo toho bezpodmínečným přetypováním svého argumentu, což může být hodnota lvalue, na odkaz rvalue povolí kompilátorovi následně přesunout, spíše než zkopírovat, hodnotu předanou v Arg, pokud je přesun pro její typ povolen.Pokud pro daný typ není povolen přesun, hodnota se zkopíruje.

Pokud je hodnota předaná v Arg hodnota, tedy má název nebo lze převzít její adresu, po provedení přesunutí je neplatná.Po přesunutí neodkazujte na hodnotu předanou v Arg jejím názvem ani adresou.

Požadavky

Hlavička: <utility>

Obor názvů: std

Viz také

Referenční dokumentace

<utility>

Hodnoty Lvalue a Rvalue