Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

move

Convierte incondicionalmente su argumento en una referencia rvalue y de este modo indica que se puede mover si su tipo tiene habilitado el movimiento.

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

Parámetro

Descripción

Type

Un tipo inferido a partir del tipo del argumento pasado en Arg, junto con las reglas de contracción de referencias.

Arg

Argumento que se va a convertir. Aunque el tipo de Arg parece estar especificado como una referencia rvalue, move también acepta argumentos lvalue porque las referencias lvalue pueden enlazarse con las referencias rvalue.

Arg como referencia rvalue, independientemente de si su tipo es un tipo de referencia.

El argumento de plantilla Type no está pensado para especificarse explícitamente, sino para deducirse a partir del tipo del valor pasado en Arg. El tipo de Type se ajusta más en función de las reglas de contracción de referencias.

move no mueve su argumento. En lugar de esto, al convertir incondicionalmente su argumento (que podría ser un lvalue) en una referencia rvalue, permite al compilador mover posteriormente, en lugar de copiar, el valor pasado en Arg si su tipo tiene habilitado el movimiento. Si su tipo no tiene habilitado el movimiento, se copia.

Si el valor pasado en Arg es lvalue (es decir, tiene nombre o se puede tomar su dirección), se invalida cuando se produce el movimiento. No haga referencia al valor pasado en Arg por su nombre o dirección una vez que se haya movido.

Encabezado: <utility>

Espacio de nombres: std

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft