std::make_reverse_iterator
De cppreference.com
Definido en el archivo de encabezado <iterator> | ||
template<class Iter > std::reverse_iterator<Iter> make_reverse_iterator( Iter i ); | (desde C++14) (constexpr desde C++17) | |
make_reverse_iterator
es una plantilla de función de conveniencia que construye un std::reverse_iterator para el iterador dado i (que debe ser un BidirectionalIterator) con el tipo deducido del tipo del argumento.
Contenido |
[editar]Parámetros
i | - | El iterador que se convertirá en iterador inverso. |
[editar]Valor de retorno
Un std::reverse_iterator construido a partir de i.
[editar]Notas
Macro de Prueba de característica | Valor | Estándar | Comentario |
---|---|---|---|
__cpp_lib_make_reverse_iterator | 201402L | (C++14) | std::make_reverse_iterator |
[editar]Posible implementación
template<class Iter>constexprstd::reverse_iterator<Iter> make_reverse_iterator(Iter i){returnstd::reverse_iterator<Iter>(i);} |
[editar]Ejemplo
Ejecuta este código
#include <algorithm>#include <iostream>#include <iterator>#include <vector> int main(){std::vector<int> v{1, 3, 10, 8, 22}; std::sort(v.begin(), v.end());std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, ", "));std::cout<<'\n'; std::copy(std::make_reverse_iterator(v.end()), std::make_reverse_iterator(v.begin()), std::ostream_iterator<int>(std::cout, ", "));std::cout<<'\n';}
Salida:
1, 3, 8, 10, 22, 22, 10, 8, 3, 1,
[editar]Véase también
Adaptador de iterador para recorrido en orden inverso. (plantilla de clase) | |
(C++14) | Devuelve un iterador inverso al contenedor o array (plantilla de función) |
(C++14) | Devuelve un iterador inverso al final para un contenedor o array (plantilla de función) |