На этом шаге мы рассмотрим инициализирующий итератор и его использование.
Класс raw_storage_iterator предназначен для перебора неинициализированной памяти и ее инициализации. Итератор raw_storage_iterator может использовать любые алгоритмы для инициализации памяти значениями, полученными в результате выполнения алгоритма.
Например, следующая команда инициализирует память, на которую ссылается указатель elems, значениями из интервала [x.begin(),x.end()):
copy (x.begin(), x.end(), // Источник raw_storage_iterator<T*,T>(elems)); // Приемник
В первом аргументе шаблона (в данном случае Т*) должен передаваться итератор вывода для типа элементов. Второй аргумент шаблона (в данном случае Т) определяет тип элементов.
На следующем шаге мы рассмотрим временные буферы.