www.wikidata.uk-ua.nina.az
Standartna biblioteka shabloniv angl Standard Template Library STL biblioteka dlya C sho mistit nabir uzgodzhenih uzagalnenih algoritmiv kontejneriv zasobiv dostupu do yihnogo vmistu i riznih dopomizhnih funkcij Standartna biblioteka shabloniv do vklyuchennya v standart C bula storonnoyu rozrobkoyu na pochatku firmi HP a potim SGI Standart movi ne nazivaye yiyi STL oskilki cya biblioteka stala nevid yemnoyu chastinoyu movi prote bagato lyudej dosi vikoristovuyut cyu nazvu shob vidriznyati yiyi vid reshti chastini standartnoyi biblioteki potoki vvodu vivodu iostream pidrozdil Si tosho Proekt pid nazvoyu STLPort zasnovanij na SGI STL zdijsnyuye postijne onovlennya STL IOstream i ryadkovih klasiv Deyaki inshi proyekti takozh zajmayutsya rozrobkoyu privatnih zastosuvan standartnoyi biblioteki dlya riznih konstruktorskih zavdan Kozhen virobnik kompilyatoriv C obov yazkovo postavlyaye yaku nebud realizaciyu ciyeyi biblioteki oskilki vona ye duzhe vazhlivoyu chastinoyu standartu i shiroko vikoristovuyetsya Zmist 1 Struktura biblioteki 2 Kontejneri 3 Iteratori 4 PosilannyaStruktura biblioteki RedaguvatiU biblioteci vidilyayut chotiri osnovni komponenti Kontejner container zberigannya naboru ob yektiv v pam yati Iterator iterator zabezpechennya zasobiv poslidovnogo dostupu do vmistu kontejnera Algoritm algorithm viznachennya obchislyuvalnoyi proceduri Funkcionalnij ob yekt functor zahovannya funkciyi v ob yekti dlya vikoristannya inshimi komponentami Rozdilennya dozvolyaye zmenshiti kilkist komponentiv Napriklad zamist napisannya okremoyi funkciyi poshuku elementu dlya kozhnogo tipu kontejnera zabezpechuyetsya yedina versiya yaka pracyuye z kozhnim z nih poki dotrimuyutsya osnovni vimogi Kontejneri RedaguvatiKontejneri biblioteki STL mozhna rozdiliti na chotiri kategoriyi poslidovni asociativni kontejneri adapteri i psevdokontejneri Kontejner OpisPoslidovni kontejnerivector C podibnij dinamichnij masiv dovilnogo dostupu z avtomatichnoyu zminoyu rozmiru pri dodavanni vidalenni elementu Dodavannya vidalennya elementu v kinec vector zajmaye amortizovane O 1 displaystyle O 1 nbsp chas ta zh operaciya na pochatku abo seredini vector O n displaystyle O n nbsp Isnuye specializaciya shablonu vector dlya tipu bool yaka vimagaye menshe pam yati za rahunok zberigannya bool u viglyadi bitiv list Dvozv yazkovij spisok elementi yakogo zberigayutsya v dovilnih shmatkah pam yati na vidminu vid kontejnera vector de elementi zberigayutsya v bezperervnij oblasti pam yati Povilnij poshuk i dostup za O n displaystyle O n nbsp v bud yakomu misci shvidka vstavka i vidalennya za O 1 displaystyle O 1 nbsp deque Shozhij na vector ale z mozhlivistyu shvidkoyi vstavki i vidalennya elementiv na oboh kincyah Asociativni kontejneriset Vporyadkovana mnozhina unikalnih elementiv Pri vstavci vidalenni elementiv mnozhini iteratori sho vkazuyut na elementi ciyeyi mnozhini ne stayut nedijsnimi Zabezpechuye standartni operaciyi nad mnozhinoyu tipu ob yednannya peretinu vidnimannya Tip elementiv mnozhini povinen realizovuvati operatora porivnyannya operator lt abo potribno nadati funkciyu komparator Realizovanij na osnovi samobalansuyuchogo dereva dvijkovogo poshuku multiset Te zh sho i set ale dozvolyaye zberigati elementi sho povtoryuyutsya map Vporyadkovanij asociativnij masiv par elementiv sho skladayutsya z klyuchiv i vidpovidnih nim znachen Klyuchi povinni buti unikalni Poryadok prohodzhennya elementiv viznachayetsya klyuchami Pri comu tip klyucha povinen realizovuvati operatora porivnyannya operator lt abo potribno nadati funkciyu komparator multimap Te zh sho i map ale dozvolyaye zberigati klyuchi sho povtoryuyutsya Kontejneri adapteristack Stek kontejner v yakomu dodavannya i vidalennya elementiv zdijsnyuyetsya z odnogo kincya queue Cherga kontejner z odnogo kincya yakogo mozhna dodavati elementi a z inshogo vijmati priority queue Cherga z prioritetom organizovana tak sho najbilshij element zavzhdi stoyit na pershomu misci Psevdokontejneribitset Sluzhit dlya zberigannya bitovih masok Shozhij na vector lt bool gt fiksovanogo rozmiru Rozmir fiksuyetsya todi koli ogoloshuyetsya ob yekt bitset Iteratoriv v bitset nemaye Optimizovanij za rozmirom pam yati basic string Kontejner priznachenij dlya zberigannya i obrobki ryadkiv Zberigaye v pam yati elementi pidryad yedinim blokom sho dozvolyaye shvidkij dostup do vsiyeyi poslidovnosti valarray Shablon sluzhit dlya zberigannya chislovih masiviv i optimizovanij dlya dosyagnennya pidvishenoyi obchislyuvalnoyi produktivnosti Deyakoyu miroyu shozhij na vector ale v nim vidsutnya bilshist standartnih dlya kontejneriv operacij Prote v nomu realizovani operaciyi yaki mozhna efektivno realizuvati yak na vektornih procesorah tak i na skalyarnih procesorah z blokami SIMD U kontejnerah dlya zberigannya elementiv vikoristovuyetsya semantika peredachi ob yektiv za znachennyam Inshimi slovami pri dodavanni kontejner otrimuye kopiyu elementu i za zapitom na vityagannya takozh povertaye kopiyu elementu Prisvoyennya elementiv realizuyetsya za dopomogoyu operatora prisvoyennya a yihnye rujnuvannya vidbuvayetsya z vikoristannyam destruktora U tablici navedeno osnovni vimogi do elementiv v kontejnerah Metod Opis PrimitkaKonstruktor kopiyi Stvoryuye novij element identichnij staromu Vikoristovuyetsya pri kozhnij vstavci elementu v kontejnerOperator prisvoyennya Zaminyuye vmist elementu kopiyeyu pochatkovogo elementu Vikoristovuyetsya pri kozhnij modifikaciyi elementuDestruktor Rujnuye element Vikoristovuyetsya pri kozhnomu vidalenni elementuKonstruktor za umovchannyam Stvoryuye element bez argumentiv Zastosovuyetsya tilki dlya pevnih operacijoperator Porivnyuye dva elementi Vikoristovuyetsya pri vikonanni operator dlya dvoh kontejnerivoperator lt Viznachaye chi menshij odin element za inshij Vikoristovuyetsya pri vikonanni operator lt dlya dvoh kontejnerivVsi povnocinni standartni kontejneri zadovolnyayut pevnomu naboru vimog abo ugod U navedenij nizhche tablici vvazhayetsya sho S klas kontejnera yakij mistit ob yekti tipu T Viraz Tip sho povertayetsya Skladnist PrimitkaC value type T Chas kompilyaciyiC reference T Chas kompilyaciyiC const reference Chas kompilyaciyiC pointer Tip vkazivnika sho vkazuye na C reference Chas kompilyaciyi Vkazivnik na TC iterator Tip iteratora sho vkazuye na C reference Chas kompilyaciyi Iterator bud yakogo tipu okrim iteratora vivoduC const iterator Tip iteratora sho vkazuye na C const reference Chas kompilyaciyi Iterator bud yakogo tipu okrim iteratora vivoduC size type Bezznakovij cilochiselnij tip Chas kompilyaciyiC obj Postijna Pislya obj size 0C obj1 obj1 obj2 Linijna Pislya obj1 obj2C obj amp obj gt C Rezultat ne vikoristovuyetsya Linijna Pislya a size 0 obj begin Postijnaobj end Postijnaobj1 obj2 Oborotnij v bool Linijnaobj1 obj2 Oborotnij v bool Linijnaobj size size type Postijnaobj empty Oborotnij v bool Postijnaobj1 lt obj2 Oborotnij v bool Linijnaobj1 gt obj2 Oborotnij v bool Linijnaobj1 lt obj2 Oborotnij v bool Linijnaobj1 gt obj2 Oborotnij v bool Linijnaobj swap obj2 void PostijnaIteratori RedaguvatiU biblioteci STL dlya dostupu do elementiv yak poserednik vikoristovuyetsya uzagalnena abstrakciya sho imenuyetsya iteratorom Kozhen kontejner pidtrimuye svij vid iteratora yakij ye modernizovanim intelektualnim vkazivnikom sho znaye yak otrimati dostup do elementiv konkretnogo kontejnera Standart C viznachaye p yat kategorij iteratoriv opisanih v nastupnij tablici Kategoriya Pidtrimuvani operaciyi PrimitkaVhidni operator operator operator gt konstruktor kopiyi operator operator operator Zabezpechuyut dostup dlya chitannya v odnomu napryami Dozvolyayut vikonati prisvoyennya abo kopiyuvannya za dopomogoyu operatora prisvoyuvannya i konstruktora kopiyiVihidni operator operator konstruktor kopiyi Zabezpechuyut dostup dlya zapisu v odnomu napryami Yih ne mozhna porivnyuvati na rivnist Odnonapravleni operator operator operator gt konstruktor kopiyi konstruktor za umovchannyam operator operator operator Zabezpechuyut dostup dlya chitannya i zapisu v odnomu napryami Dozvolyayut vikonati prisvoyennya abo kopiyuvannya za dopomogoyu operatora prisvoyennya i konstruktora kopiyi Yih mozhna porivnyuvati na rivnist Dvonapravleni operator operator operator operator gt konstruktor kopiyi konstruktor za umovchannyam operator operator operator Pidtrimuyut usi funkciyi opisani dlya odnonapravlenih iteratoriv divis vishe Krim togo voni dozvolyayut perehoditi do poperednogo elementu Dovilnogo dostupu operator operator operator operator gt konstruktor kopiyi konstruktor za umovchannyam operator operator operator operator operator operator operator operator lt operator gt operator lt operator gt operator Ekvivalentni zvichajnim vkazivnikam pidtrimuyut arifmetiku vkazivnikiv sintaksis indeksaciyi masiviv i usi formi porivnyannya Posilannya RedaguvatiDovidnik klasiv i metodiv SGI STL sirci angl STL po shagam ros stati Artema Kaeva Osnovy C Biblioteka STL ros arhiv rozsilki STL Standartnaya biblioteka shablonov Rukovodstvo C programmista ros dokladne kerivnictvo Ispolzovanie STL v C ros nbsp Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Standartna biblioteka shabloniv amp oldid 40161191