Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет295/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   291   292   293   294   295   296   297   298   ...   466
vector
сөзін жай ғана 
deque
немесе 
list
сөзіне ал-
мастыру арқылы вектордың орнына кез келген тізбекті контейнерді қолдануға 
болатын еді. Мұндайда мəліметтердің ішкі көрінісі (бейнесі) жəне қолжетімді 
операциялар жиынтығы өзгеретін еді, ал программаның орындалу тəртібінде 
ешқандай өзгерістер болмайтын еді. 
Алайда, 
for
цикінің орнына индекс бойынша қол жеткізу операциясы 
[ ]
қолданылған 
for (int i = 0; i
тізбегін қоятын болсақ, программа 
list
типті контейнер үшін жұмыс 
істемейді, себебі осы контейнерде бұл операция анықталмаған. 
1
Вектордың өлшемі əрбір элементті қосқан сайын өзгеріп отырмайды, бұл тиімді болмас еді. Ол 
белгілі бір алгоритм бойынша өзгереді, бұл алгоритмді басқаруға болады (325 б. қараңыз)


323
Векторлар (vector)
Векторды құру үшін келесі конструкторларды қолдануға болады 
(қарапайым жазбалары келтірілген):
explicit vector(); //1
explicit vector(size_type n, const T& value = T()); //2
template //3
 vector(InputIter 
fi rst, InputIter last);
vector(const vector& x); //4
Мысалдағы 
explicit
түйінді сөзі объектіні құру кезінде басқа типтің 
мəнін меншіктегенде жанамалы түрде орындалатын түрлендіруге тыйым салу 
үшін қолданылады (213 б. де қараңыз).
1-конструктор келісім бойынша берілген конструктор болып табылады.
2-конструктор ұзындығы 
n
болып келетін ветор құрады да, оны бірдей эле-
менттермен – 
value
көшірмелерімен толтырады.
Вектор өлшемін өзгерту қымбатқа түсетіндіктен, оны құру кезінде 
бастапқы өлшемін беру өте ыңғайлы болып саналады. Мұндайда құрамдас 
типтер үшін əрбір элементті 
value
мəнімен инициалдау орындалады. Егер ол 
көрсетілмесе, ауқымды (глобалды) векторлардың элементтері нөлмен иници-
алданады.
Егер вектор элементінің типін қолданушы анықтаған болса, оның бастапқы 
мəні осы тип үшін келісім бойынша берілген конструктордың көмегімен 
қалыптасады. Екінші параметрдің орнына параметрлері бар конструкторды 
шақыруға болады, осылайша қажетті қасиеттерге ие болатын элементтер век-
торы құрылады (төмендегі мысалды қара). 
ЕСКЕРТУ
Кез келген контейнер элементтері оған кірістірілетін объектілердің көшірмелері бо-
лып табылады. Сондықтан олар үшін көшіру конструкторы жəне меншіктеу операциясы 
анықталуы керек. 
3-конструктор итераторлар көмегімен көрсетілген элементтер диапазонын 
көшіру арқылы вектор құрады. Итераторлар типі «оқу үшін» болуы тиіс. 
4-конструктор көшіру конструкторы болып табылады.
Конструкторларға мысалдар:


Достарыңызбен бөлісу:
1   ...   291   292   293   294   295   296   297   298   ...   466




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет