Il secondo paragrafo é dedicato agli iteratori su stream, usati per lavorare direttamente sugli stream di input e output.
L'iteratore per l'ostream ostream_iterator
Per evitare questo é possibile passare un parametro di tipo char* al costruttore dell'iteratore. Quella stringa verrà utilizzata come separatore dopo ogni elemento.
Faccio qui un esempio minimale, mentre quello del libro si diffonde su come gestire tipi complessi:
#include<fstream>
#include<iterator>
using namespace std;
int main() {
ofstream target("output.txt");
ostream_iterator<int> pos(target, "\n");
for(int i = 0; i < 10; ++i) {
*pos++ = i;
}
}
Da notare l'idioma utilizzato che prevede l'uso dell'operatore di postincremento sull'iteratore, anche se questo in realtà non fa nulla, per ragioni di omogenità con l'uso degli iteratori di output in altri contesti.
Nessun commento:
Posta un commento