STL - fill

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.7: fill e fill_n

L'algoritmo fill(), con la sua variazione fill_n(), permette di inizializzare, interamente o parzialmente, una collezione. L'iteratore ritornato da fill_n() punta al primo elemento successivo a quelli modificati:

#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

void dump(const vector<double>& v) {
vector<double>::const_iterator it = v.begin();
while (it != v.end()) {
cout << *it++ << ' ';
}
cout << endl;
}

int main() {
vector<double> v(8);
// initialize all values with 9.23
fill(v.begin(), v.end(), 9.23);
dump(v);

vector<double>::const_iterator it = fill_n(v.begin(), 3, 1.01);
dump(v);

cout << "it is in position = " << (it - v.begin())
<< ", *it = " << *it << endl;
}

Nessun commento:

Posta un commento