Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

forward

 

Convierte condicionalmente su argumento a una referencia de valor R si el argumento es un valor R o una referencia de valor R.Esto restaura el valor R de un argumento a la función de reenvío para permitir el reenvío directo.

template<class Type>    // accepts lvalues
constexpr Type&& forward(typename remove_reference<Type>::type& Arg) noexcept

template<class Type>    // accepts everything else
constexpr Type&& forward(typename remove_reference<Type>::type&& Arg) noexcept

Parámetro

Descripción

Type

Tipo del valor pasado en Arg, que puede ser diferente que el tipo de Arg.Lo suele determinar un argumento de plantilla de la función de reenvío.

Arg

Argumento que se va a convertir.

Devuelve una referencia de valor R a Arg si el valor pasado en Arg era originalmente un valor R o una referencia a un valor R; de lo contrario, devuelve Arg sin modificar su tipo.

Debe especificar un argumento de plantilla explícito para llamar a forward.

forward no reenvía su argumento.En su lugar, convirtiendo condicionalmente su argumento a una referencia de valor R si era originalmente un valor R o una referencia de valor R, forward permite al compilador realizar la resolución de sobrecargas conociendo del tipo original del argumento reenviado.El tipo aparente de un argumento de una función de reenvío puede ser diferente que su tipo original, por ejemplo, cuando se usa un valor R como argumento de una función y se enlaza a un nombre de parámetro; si tiene un nombre se convierte en un valor L, independientemente de que el valor exista realmente como un valor R. forward restaura el valor R del argumento.

Restaurar el valor R del valor original de un argumento para realizar la resolución de sobrecargas se denomina reenvío directo.El reenvío directo permite que una función de plantilla acepte un argumento de cualquier tipo de referencia y restaure su valor R cuando sea necesario para la correcta resolución de sobrecargas.Mediante el reenvío directo, se puede conservar la semántica de movimiento para los valores R y evitar tener que proporcionar sobrecargas para las funciones que solo varían por el tipo de referencia de sus argumentos.

Requisitos

Encabezado: <utility>

Espacio de nombres: std

Mostrar: