Partager via


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

Voir aussi

Référence

Modèles Standard