ps 这里是乌克兰语的评论
// файлові потоки для заданого файла і результатів
ifstream fin("OldmanAndSea.txt"); // заданий
ofstream fout("result.txt"); // отриманий
// доступ до фалів буде через ітератори
istream_iterator <string> begin(fin), end;
ostream_iterator <string> out(fout,"\n");
// список для накопичення слів
list <string> L;
// всю роботу виконає алгоритм, ітератор потоку
// читання, і оператор введення з потоку
// саме оператор введення "вміє" виокремлювати
// групи літер, відокремлених пропусками
// нові слова дописуємо в кінець списку
copy(begin, end, back_inserter(L));
// вилучення повторних входжень слів - двоетапне
L.sort();
L.unique();
// тепер можна зберегти отриманий результат
*out++ = "----------------------------- list after sort & unique";
// всю роботу знову виконує алгоритм
copy(L.begin(),L.end(),out);
// загальна кількість знайдених слів
cout << "There are " << L.size() << " words\n";