322 while ( in >> x, !in.eof()) v.push_back(x); for (vector::iterator i = v.begin(); i != v.end(); ++i) cout << *i << " "; } Файл құрамында бүтін сандар болғандықтан,
vector шаблонының соған
сəйкес специализациясы –
vector қолданылады.
V векторын құру үшін
келсім бойынша берілген конструктор қолданылады. Файл соңына дейін
цикл ұйымдастырылады да, онда файлдан кезекті бүтін сан оқылады. Ол сан
push_back əдісінің көмегімен векторға енгізіледі, вектор өлшемі автоматты
түрде өзгереді
1
.
Вектор бойымен оны толық қарап шығу үшін соған сəйкес типтің ите-
раторы ретінде
i айнымалысы енгізіледі (
:: операциясы көріну аймағына
қол жеткізуді білдіретінін еске салайық, яғни бұл жерде «шаблонның
нақты специализациясына арналған итератор» типті
i айнымалысы жари-
яланады). Осы итератордың көмегімен контейнердің барлық элементтеріне
біріншісінен бастап рет-ретімен қол жеткізу орындалады.
begin() əдісі
нұсқауышты бірініші элементке, ал
end() əдісі соңғыдан кейінгі элемент-
ке қайтарады. Жүзеге асыру жолы бұл нұсқауыштың анықталғандығына
кепілдік береді.
Ағымдағы мəнді шекаралық мəнмен салыстыруды
!= операциясының
көмегімен орындаған дұрыс, себебі
< немесе
<= операциялары берілген
тип үшін анықталмауы мүмкін. Инкремент операциясы (
i++ ) осыдан
кейін итератор контейнердің қарап шығу реттілігіндегі келесі элементіне
нұсқайтындай етіп жүзеге асырылған. Вектор элементіне қол жеткізу
қарапайым нұсқауыштардағы сияқты, адрессіздендіру операциясының
көмегімен орындалады.
Бұл берілген мысалда