Espacios de nombres
Variantes
Acciones

std::end(std::valarray)

De cppreference.com
< cpp‎ | numeric‎ | valarray
 
 
 
 
template<class T >
/*no especificado 1*/ end( valarray<T>& v );
(1) (desde C++11)
template<class T >
/*no especificado 2*/ end(const valarray<T>& v );
(2) (desde C++11)

La sobrecarga de std::end for valarray devuelve un iterador de tipo no especificado que se refiere a un elemento más allá del último elemento en el array numérico.

1) El tipo de retorno cumple con los requerimientos de RandomAccessIterator mutable.
2) El tipo de retorno cumple con los requerimientos de RandomAccessIterator constante.

El iterador obtenido de esta plantilla de función se invalida cuando se llama a la función miembro resize() en el arrayv o cuando el tiempo de vida de v termina, lo que ocurra primero.

Contenido

[editar]Parámetros

v - Un array numérico.

[editar]Valor de retorno

Iterador a uno más allá del último valor el array numérico.

[editar]Excepciones

Puede lanzar excepciones definidas por la implementación.

[editar]Notas

A diferencia de otras funciones que toman argumentos std::valarray, end() no puede aceptar los tipos de reemplazo (como los tipos producidos por plantillas de expresión) que pueden ser devueltos por expresiones que involucran valarrays: std::end(v1 + v2) no es portátil, std::end(std::valarray<T>(v1 + v2)) debe usarse en su lugar.

La intención de esta función es permitir que los bucles for basados en rango funcionen con valarrays, no proporcionar semántica de contenedor.

[editar]Ejemplo

#include <iostream>#include <valarray>#include <algorithm>   int main(){conststd::valarray<char> va {'H', 'o', 'l', 'a', ',', ' ', 'C', '+', '+', '!', '\n'};   std::for_each(std::begin(va), std::end(va), [](char c){std::cout<< c;});}

Posible salida:

Hola, C++!

[editar]Véase también

Especialización de std::begin.
(plantilla de función)[editar]
close