- •4. Идентификаторлар. Түйінді сөздер. Тұрақтылар.
- •5. Функцияларды хабарлау және анықтау. Функцияның параметрлері. Рекурсивті функциялар.
- •6. Негізгі мәліметтер типтері. Унарлы, бинарлы, тернарлы операциялар.
- •7.Программа құрылымы. Айнымалылар және өрнектер.
- •8. If, switch тармақталу операторлары. Шартты оператордың құрылымдық сұлбасы.
- •9.For, do while, while циклдік операторлары.
- •10. Goto, Break, continue, return басқаруды беру операторлары
- •11.Нұсқауыштар мен жиымдар. Екі өлшемді жиымдар.
- •Int ivar,*iptr;
- •12. Қатарлар. Қатарларға қолданылатын функциялар
- •13. Typedef, enum қолданушы анықтайтын мәліметтер типтері.
- •14. Struct, union қолданушы анықтайтын мәліметтер типтері.
- •16. Объектіге бағытталған программалаудың негізі. Базалық кластың хабарлануы, анықталуы.
- •17. Конструктор және оның қасиеттері. Көшіру конструкторлары.
- •18. Конструкторлар және қатарларды меншіктеу. Қатардың бөлігін қосу және меншіктеу функциялары.
- •19.Конструкторлар.Қатарларды түрлендіру, қатардың құрамын іздеу
- •22. Мұрагерлік. Жай және көптік мұрагерлік.
- •23. Абстрактілі класс. Виртуалды функциялар.
- •24. Ағымдар. Стандартты, файлдық және қатарлық ағымдар.
- •25. Манипуляторлар. Жай және параметрлі манипуляторлар
- •26. Stl (Standard Template Library) кітапханасының құрылымы. Итераторлар.
- •27. Тізбекті контейнерлер. Векторлар, кезектер.
- •28.Екі жақты кезектер, стектер, тізімдер
- •29. Ассоциативті контейнерлер. Сөздіктер. Жиындар.
- •30. Stl (Standard Template Library) кітапханасының құрылымы
30. Stl (Standard Template Library) кітапханасының құрылымы
Кітапхана бес негізгі компоненттерден тұрады:
контейнер (container): жадыдағы объектілер жиынтығын басқарады.
итератор (iterator): контейнерлерге енуді қамтамасыз етеді.
алгоритм (algorithm): есептеу процедурасын анықтайды.
функционалды объект (function object): басқа компоненттер қолдану үшін объектідегі функцияларды инкапсуляция жасайды.
адаптер (adaptor): әр түрлі интерфейспен қамтамасыз ету үшін компонентті бейімдейді.
Функцияны шақыру операциясы анықталған класс функционалды объект деп аталады.
STL контейнерлері тізбекті және ассоциативті деп бөлінеді. Тізбекті контейнерлер үздіксіз тізбек түріндегі бір типті объектілердің соңғы санын анықтауды қамтамасыз етеді және келесі түрлері бар: векторлар (vector); кезектер (queue ); екі жақты кезектер (deque); тізімдер (list); стектер (stack); приоритеттері бар кезектер (priority-queue).
Тізбекті контейнерлер: векторлар, екі жақты кезек, тізімдер.
Операция |
Әдіс |
vector |
deque |
list |
Басына қою |
push_front |
- |
+ |
+ |
Басынан бастап жою |
pop_front |
- |
+ |
+ |
Соңына қою |
push_back |
+ |
+ |
+ |
Соңынан бастап жою |
pop_back |
+ |
+ |
+ |
Кез-келген орынға қою |
insert |
+ |
+ |
+ |
Кез-келген орыннан жою |
erase |
+ |
+ |
+ |
Элементке еркін ену |
[ ].at |
+ |
+ |
- |
Итератор элементке нұсқауыштың аналогы болып табылады. Ол контейнерді тура және кері бағытта қарай алады.
Әдістер |
Комментарий |
iterator begin(), const_ iterator begin() const |
алғашқы элементке нұсқайды |
iterator end(), const_ iterator end() const |
соңғы элементтен кейін тұрған элементке нұсқайды |
reserve_iterator rbegin(), const_ reserve_iterator rbegin() const |
кері ретпен алғашқы элементке нұсқайды |
reserve_iterator rend(), const_ reserve_iterator rend() const |
Кері ретпен соңғы элементтен кейін тұрған элементке нұсқайды |
Кезек («queue»)
Кезек («queue») – элементтерін орналастырғанда тізімнің соңына, ал алғанда басынан алатын мәліметтер құрылымы.
Кезек қолдайтын операциялар:
front – алғашқы элементке ену
push_back – кезек соңына қосу
pop_front – алғашқы элементті жою
pop_back-соңғы элементті жою
Мысал:
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue <char> q;
q.push('a'); // кезекке элемент қосамыз
q.push('b'); // …
q.push('c'); // …
cout << q.front(); // алғашқы элементті шығару
q.pop(); //жою
cout << q.front(); // …
q.pop(); // …
cout << q.front(); // …
q.pop(); // …
Нәтижесі:«abc»
Стек («stack»)
Стек («stack») – тек бір элементпен жұмыс істейтін мәліметтер қоймасы.
Жеке жағдайда, vector, list и deque.
Стек («stack») қолдайтын операциялар
back –соңғы элементке ену
push_back – стектің соңына қосу
pop_back – соңғы элементті алу
Функционалды объектілер жиыны <functional> басты файлында сипатталады.
plus шаблоны:
temlpate<class T>
struct plus:binary_function<T,T,T>
{T operator()(const T&x, const T&y) const{return x+y;} }
Арифметикалық функционалды объектілер:
аты |
типі |
Нәтиже |
plus |
бинарлы |
x+y |
minus |
бинарлы |
x-y |
multiplies |
бинарлы |
x*y |
divides |
бинарлы |
x/y |
modulus |
бинарлы |
x%y |
negate |
унарлы |
-x |
Абстрактілі класс. Виртуалды функциялар. 23
Ағымдар. Стандартты, файлдық және қатарлық ағымдар. 24
Ағымдық енгізу-шығару және оларды пайдалану. С++ тілінің ерекшеліктері. 2
Алгоритмдер. Адаптерлер. Функционалды объектілер. 30
Ассоциативті контейнерлер. Сөздіктер. Жиындар. 29
Деструкторлар және оның қасиеттері. 20
Екі жақты кезектер, тізімдер, стектер. 28
Идентификаторлар. Түйінді сөздер. Тұрақтылар. 4
Класстың достық функциялары. Класстың шаблондары. 21
Конструкторлар және қатарларды меншіктеу. Қатардың бөлігін қосу және меншіктеу функциялары. 18
Конструктор және оның қасиеттері. Көшіру конструкторлары. 17
Конструкторлар. Қатарларды түрлендіру. Қатардың құрамын іздеу. 19
Қатарлар. Қатарларға қолданылатын функциялар. 12
Манипуляторлар. Жай және параметрлі манипуляторлар. 25
Мұрагерлік. Жай және көптік мұрагерлік. 22
Негізгі мәліметтер типтері. Унарлы, бинарлы, тернарлы операциялар. 6
Нұсқауыштар мен жиымдар. Екі өлшемді жиымдар. 11
Объектіге бағытталған программалаудың негізі. Базалық кластың хабарлануы, анықталуы. 16
Программа құрылымы. Айнымалылар және өрнектер. 7
С++ тілінің базалық жабдықтары. Препроцессор директивалары. 1
Тізбекті контейнерлер. Векторлар, кезектер. 27
Тіл құрамы. Тіл алфавиті. Түсініктемелер. 3
Функцияларды хабарлау және анықтау. Функцияның параметрлері.Рекурсивті функциялар. 5
Borland Builder С++ 6.0 программалау ортасының бас терезесінің құрылымы. 15
if, switch тармақталу операторлары. Шартты оператордың құрылымдық сұлбасы. 8
for, do while, while циклдік операторлары. 9
goto, break, continue, return басқаруды беру операторлары 10
STL (Standard Template Library) кітапханасының құрылымы. Итераторлар. 26
struct, union қолданушы анықтайтын мәліметтер типтері. 14
typedef, enum қолданушы анықтайтын мәліметтер типтері. 13
