iota
Stocke une valeur initiale, en commençant par le premier élément et remplir avec des index successifs de cette valeur (_Value++) dans chacun des éléments dans la plage [_First, _Last).
template<class ForwardIterator, class Type>
void iota(
ForwardIterator _First,
ForwardIterator _Last,
Type _Value
);
Paramètres
_First
Un itérateur d'entrée qui traite le premier élément de la plage à remplir._Last
Un itérateur d'entrée qui traite le dernier élément dans la plage à remplir._Value
La valeur initiale à stocker dans le premier élément et à incrémenter successivement pour les éléments suivants.
Exemple
L'exemple suivant illustre certaines utilisations de la fonction d' iota en remplissant liste des entiers puis en remplissant vecteur avec list afin que la fonction de random_shuffle puisse être utilisée.
// compile by using: cl /EHsc /nologo /W4 /MTd
#include <algorithm>
#include <numeric>
#include <list>
#include <vector>
#include <iostream>
using namespace std;
int main(void)
{
list <int> intList(10);
vector <list<int>::iterator> intVec(intList.size());
// Fill the list
iota(intList.begin(), intList.end(), 0);
// Fill the vector with the list so we can shuffle it
iota(intVec.begin(), intVec.end(), intList.begin());
random_shuffle(intVec.begin(), intVec.end());
// Output results
cout << "Contents of the integer list: " << endl;
for (auto i: intList) {
cout << i << ' ';
}
cout << endl << endl;
cout << "Contents of the integer list, shuffled by using a vector: " << endl;
for (auto i: intVec) {
cout << *i << ' ';
}
cout << endl;
}
Sortie
Contents of the integer list:
0 1 2 3 4 5 6 7 8 9
Contents of the integer list, shuffled by using a vector:
8 1 9 2 0 5 7 3 4 6
Configuration requise
en-tête : <numeric>
l'espace de noms : DST