STL - iota

Dal quinto capitolo di Designing Components with the C++ STL, di Ulrich Breymann. Algoritmi standard.

Sezione dedicata agli algoritmi che modificano le sequenze su cui operano.

5.4.1: iota

Non é un algoritmo incluso nello standard C++, ma spesso viene reso disponibile. Nel mio caso cygwin lo mette a disposizione includendo l'header algo.h; il suo scopo é quello di inizializzare la sequenza passatagli con valori crescenti, a partire dal valore passato come terzo parametro.

Nell'esempio qui sotto un vettore viene inizializzato a partire dal valore 3 (seguono 4, 5, ...):

#include<algo.h>
#include<vector>
#include<iostream>

using namespace std;

int main() {

vector<int> v(5);
for(size_t i = 0; i < v.size(); ++i)
cout << v[i] << ' ';
cout << endl;

iota(v.begin(), v.end(), 3);

for(size_t i = 0; i < v.size(); ++i)
cout << v[i] << ' ';
cout << endl;
}

Nessun commento:

Posta un commento