Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Veranschaulicht, wie die Funktion Sie generieren Standardvorlagenbibliothek (STL) in Visual C++ verwendet.
template<class InputIterator, class Function> inline
Function for_each(
InputIterator First,
InputIterator Last,
Function F
)
template<class ForwardIterator, class Generator> inline
void generate(
ForwardIterator First,
ForwardIterator Last,
Generator Gen
)
Hinweise
Hinweis |
|---|
Die Klasse/Parameternamen im Prototyp stimmen nicht mit der Version in der Headerdatei ab.Einige wurden geändert, um die Lesbarkeit zu verbessern. |
Der Algorithmus Sie generieren [Firstvon den Bereich ausgeführt wird, Last + 1) auf jedes Element den Wert von GenZuweisen von zurückgegeben.Sie generieren ändert die Elemente im angegebenen Bereich.
Beispiel
// generate.cpp
// compile with: /EHsc
//
// Functions:
// generate - Fill a sequence using a generator function
// Fibonacci - return the next Fibonacci number in the
// Fibonacci series.
// disable warning C4786: symbol greater than 255 characters,
// okay to ignore
#pragma warning(disable: 4786)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// return the next Fibonacci number in the
// Fibonacci series.
int Fibonacci(void)
{
static int r;
static int f1 = 0;
static int f2 = 1;
r = f1 + f2 ;
f1 = f2 ;
f2 = r ;
return f1 ;
}
int main()
{
const int VECTOR_SIZE = 8 ;
// Define a template class vector of integers
typedef vector<int > IntVector ;
//Define an iterator for template class vector of integer
typedef IntVector::iterator IntVectorIt ;
IntVector Numbers(VECTOR_SIZE) ; //vector containing numbers
IntVectorIt start, end, it ;
start = Numbers.begin() ; // location of first
// element of Numbers
end = Numbers.end() ; // one past the location
// last element of Numbers
// fill the range [first, last +1) with a series of
// Fibonnaci numbers using the Fibonacci function
generate(start, end, Fibonacci) ;
// print content of Numbers
cout << "Numbers { " ;
for(it = start; it != end; it++)
cout << *it << " " ;
cout << " }\n" << endl ;
}
Output
Numbers { 1 1 2 3 5 8 13 21 }
Anforderungen
Header: <algorithm>
Hinweis