Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
v_vide_shpor.docx
Скачиваний:
0
Добавлен:
14.12.2019
Размер:
276.72 Кб
Скачать

25. Манипуляторлар. Жай және параметрлі манипуляторлар

Мәліметтерді форматтау үшін қолданылатын алу және орналастыру операциялар тізбегінен тұратын функцияларды манипуляторлар деп атаймыз.Аргументтерді көрсетуді талап етпейтін манипуляторларды жай деп , ал аргументтерді көрсетуді талап ететін манипуляторларды параметрлі деп атаймыз. Манипуляторларды қолдану үшін поограммаға <iomanip. h> тақырыптық файлын қосу керек.Төменде жай манипуляторлар келтірілген:

dec- енгізу/шығару кезінде ағымға ондық санау жүйесінің жалаушасын орнатады

oct- енгізу/шығару кезінде ағымға сегіздік санау жүйесінің жалаушасын орнатады

hex- енгізу/шығару кезінде ағымға он алтылық санау жүйесінің жалаушасын орнатады

ws- енгізу кезінде ағымға бос орынды символдарды алуды (извлечение) орнатады

endl- шығару кезінде ағымға жаңа қатардың символын қосады

ends- шығару кезінде ағымға нөлдік символды қорады

flush- шығару кезінде буферге жүктейді

Төменде параметрлі манипуляторлар келтірілген:

setbase(int n)- санау жүйесінің негізін береді. (n=8, 10, 16, 0). 0 үнсіздік бойынша негіз болып табылады.

resetiosflags (long)- параметрде биттері орнатылған ағымның жалаушаларын алып тастайды (сбрасывает)

setiosflags (long)- параметрде биті 1-ге тең ағымның жалаушаларын орнатады

setfill (int) – параметр мәніне тең коды бар символ-толықтырғышты орнатады

setprecision (int)- нақты санның бөлшек бөлігінің ең үлкен санын орнатады

setw (int)- шығару өрісінің ең үлкен енін орнатады

26. Stl (Standard Template Library) кітапханасының құрылымы. Итераторлар.

STL (Standard Template Library) кітапханасының құрылымы

Кітапхана бес негізгі компоненттерден тұрады:

контейнер (container): жадыдағы объектілер жиынтығын басқарады.

итератор (iterator): контейнерлерге енуді қамтамасыз етеді.

алгоритм (algorithm): есептеу процедурасын анықтайды.

функционалды объект (function object): басқа компоненттер қолдану үшін объектідегі функцияларды инкапсуляция жасайды.

адаптер (adaptor): әр түрлі интерфейспен қамтамасыз ету үшін компонентті бейімдейді.

Контейнер – бұл белгілі бір түрде ұйымдастырылған басқа объектілер жиынын құрайтын объект. Контейнерлер нақты типті объект коллекцияларын басқару үшін арналған. Контейнерлер мысалдары жиымдар (векторлар және ассоциативті жиымдар) және тізімдер (жекеленген тізімдер, кезектер, стектер) болып табылады. Контейнерге объектілерді қосуға болады және оларды одан жоюға болады. Контейнермен жұмыс стандартты библиотекадағы контейнерлі кластар көмегімен қолдау табады. Бұл мүмкіндік класс шаблондары арқылы жүргізіледі.

Контейнерлерді қолдану программалар сенімділігін жоғарылатуға, мүмкіндік береді.

Итератор элементке нұсқауыштың аналогы болып табылады. Ол контейнерді тура және кері бағытта қарай алады.

Абстрактілі тізбек берілсе, оны қарап шығуды және оның әрбір элементіне қол жеткізуді итератор қамтамасыз етеді.

Итератор- бұл мәліметтер құрылымымен жұмыс істеуге қажетті нұсқауыштың жалпы түсінігі.

Тізбектің қолданыстағы элементіне қол жеткізу мына операциялардың көмегімен жүзеге асады: * және ->.

Келесі элементке өту - ++.

Итераторлардың бес категориясы:

Кіріс (input) ,

Шығыс (output) ,

Түзу (forward) ,

екі бағытты (bidirectional) ,

кез-келген қол жеткізу (random access) .

Итераторлық класстар және функциялар <iterator> басты файлында сипатталады, шаблоны - iterator_traits.

Мысалы, конструктордың екінші аргументі символдар қатары болса, онда әрбір мәннен кейін шығарылады.

ostream_iterator<int>os (cout, ” кг ”);

*os=100; // 100 кг шығарылады

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]