Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

generar

Asigna los valores generados por un objeto de función a cada elemento en un rango.

template<class ForwardIterator, class Generator>
   void generate(
      ForwardIterator _First, 
      ForwardIterator _Last, 
      Generator _Gen
   );

_First

Un iterador hacia delante que dirige la posición del primer elemento del intervalo al que los valores deben estar asignados.

_Last

Un iterador hacia delante que dirige la posición una más allá del último elemento en el intervalo al que los valores deben estar asignados.

_Gen

Un objeto de función que se denomina sin argumentos que se utiliza para representar los valores que se deben asignar a cada uno de los elementos del intervalo.

El objeto de la función se invoca para cada elemento del intervalo y no debe devolver el mismo valor cada vez que se llama. Puede, por ejemplo, leer de un archivo o hacer referencia y modificar un estado local. El tipo de resultado de generador debe poder convertirse al tipo de valor de iteradores hacia delante del intervalo.

El intervalo hace referencia debe ser válido; todos los punteros deben ser dereferenceable y, dentro de la secuencia, la posición última debe ser accesible de primera por el aumento.

La complejidad es lineal, con exactamente (_Last – _First) llama al generador que es necesario.

// alg_generate.cpp
// compile with: /EHsc
#include <vector>
#include <deque>
#include <algorithm>
#include <iostream>
#include <ostream>

int main( )
{
   using namespace std;

   // Assigning random values to vector integer elements
   vector <int> v1 ( 5 );
   vector <int>::iterator Iter1;
   deque <int> deq1 ( 5 );
   deque <int>::iterator d1_Iter;
   
   generate ( v1.begin ( ), v1.end ( ) , rand );
   
   cout << "Vector v1 is ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")." << endl;

   // Assigning random values to deque integer elements
   generate ( deq1.begin ( ), deq1.end ( ) , rand );

   cout << "Deque deq1 is ( " ;
   for ( d1_Iter = deq1.begin( ) ; d1_Iter != deq1.end( ) ; d1_Iter++ )
      cout << *d1_Iter << " ";
   cout << ")." << endl;
}
El vector v1 es (41 18467 6334 26500 19169).
Deque deq1 es (15724 11478 29358 26962 24464).

Encabezado: <algorithm>

Espacio de nombres: std

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft