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