İlk olarak HP tarafından geliştirilmeye başlanan, daha sonra C++ standardına dahil edilen generic programlama modeliyle geliştirilmiş kütüphanedir. Daha çok STL şeklinde kısa ismiyle anılır.
STL, nesne yönelimli bir kütüphane değildir. Generic bir kütüphanedir. Bu özelliğiyle, genel amaçlı algoritmalar (sort, find, vs.) çok çeşitli container yapılarında kullanılabilirler.
C++ standardı, STL içindeki yapıların performans arayüzlerini ve performans kriterlerini belirler. Örneğin, vector sınıfından bir elemanın çağrılma işlemi sabit süre almalıdır. (Big-Oh gösterimiyle, O(1) olmalıdır.)
Container Sınıfları
C++ container sınıfları bazı ortak ve bazı kendine özgü fonksiyonlar (algoritmalar) bulunduran veri yapılarıdır. Kullanılabilmeleri için dahil edilmeleri gerekir. Bu da #include
yöntemi ile gerçekleştirilir. Örneğin std::vector
sınıfını ana koda dahil etmek için #include <vector>
kullanılır. Aşağıda ana koda dahil edebileceğiniz container türleri yer almaktadır:
Kategori | Konteyner | Açıklama |
---|---|---|
Sıralı Konteynerler | std::vector | Dinamik dizi. |
std::deque | Çift uçlu kuyruk. | |
std::list | Çift yönlü bağlı liste. | |
std::forward_list | Tek yönlü bağlı liste (C++11). | |
İlişkili Konteynerler | std::set | Anahtarlarına göre sıralı, benzersiz anahtarların koleksiyonu. |
std::multiset | Anahtarlarına göre sıralı, tekrarlanan anahtarların koleksiyonu. | |
std::map | Anahtar-değer çiftlerinin koleksiyonu, anahtarlara göre sıralı. | |
std::multimap | Anahtar-değer çiftlerinin koleksiyonu, anahtarlara göre sıralı (tekrarlanan anahtarları içerir). | |
Sırasız İlişkili Konteynerler (C++11) | std::unordered_set | Anahtarlarına göre karma tablolarla sıralanmış benzersiz anahtarların koleksiyonu. |
std::unordered_multiset | Anahtarlarına göre karma tablolarla sıralanmış tekrarlanan anahtarların koleksiyonu. | |
std::unordered_map | Anahtar-değer çiftlerinin koleksiyonu, anahtarlar için karma tablolarla sıralanmış. | |
std::unordered_multimap | Anahtar-değer çiftlerinin koleksiyonu, anahtarlar için karma tablolarla sıralanmış (tekrarlanan anahtarları içerir). | |
Konteyner Adaptörleri | std::stack | Yığınlama (LIFO) işlevselliği sağlayan bir konteyneri adapte eder. |
std::queue | Kuyruk (FIFO) işlevselliği sağlayan bir konteyneri adapte eder. | |
std::priority_queue | Öncelikli kuyruk işlevselliği sağlayan bir konteyneri adapte eder. | |
Dizi (C++11) | std::array | Sabit boyutlu bir statik dizi. |
Tuple (C++11) | std::tuple | Heterojen değerlerin sabit boyutlu koleksiyonu. |
Diğer | std::bitset | Boolean değerlerin bir dizisi olarak temsil edilen bitlerin koleksiyonu. |
Algoritmalar
Standard Şablon Kütüphanesindeki <algorithm>
sınıfı birçok farklı container türünde kullanılabilen veya sadece bir container türüne özel fonksiyonlar bulundurur. Bu fonksiyonlardan yararlanabilmek için <algorithm> sınıfını ana koda dahil etmek gerekir. Bu da #include <algorithm>
ifadesi ile gerçekleştirilir.
Kaynakça
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Ilk olarak HP tarafindan gelistirilmeye baslanan daha sonra C standardina dahil edilen generic programlama modeliyle gelistirilmis kutuphanedir Daha cok STL seklinde kisa ismiyle anilir STL nesne yonelimli bir kutuphane degildir Generic bir kutuphanedir Bu ozelligiyle genel amacli algoritmalar sort find vs cok cesitli container yapilarinda kullanilabilirler C standardi STL icindeki yapilarin performans arayuzlerini ve performans kriterlerini belirler Ornegin vector sinifindan bir elemanin cagrilma islemi sabit sure almalidir Big Oh gosterimiyle O 1 olmalidir Container SiniflariC container siniflari bazi ortak ve bazi kendine ozgu fonksiyonlar algoritmalar bulunduran veri yapilaridir Kullanilabilmeleri icin dahil edilmeleri gerekir Bu da include yontemi ile gerceklestirilir Ornegin std vector sinifini ana koda dahil etmek icin include lt vector gt kullanilir Asagida ana koda dahil edebileceginiz container turleri yer almaktadir C Standart Kutuphanesindeki Konteyner Turleri Kategori Konteyner AciklamaSirali Konteynerler std vector Dinamik dizi std deque Cift uclu kuyruk std list Cift yonlu bagli liste std forward list Tek yonlu bagli liste C 11 Iliskili Konteynerler std set Anahtarlarina gore sirali benzersiz anahtarlarin koleksiyonu std multiset Anahtarlarina gore sirali tekrarlanan anahtarlarin koleksiyonu std map Anahtar deger ciftlerinin koleksiyonu anahtarlara gore sirali std multimap Anahtar deger ciftlerinin koleksiyonu anahtarlara gore sirali tekrarlanan anahtarlari icerir Sirasiz Iliskili Konteynerler C 11 std unordered set Anahtarlarina gore karma tablolarla siralanmis benzersiz anahtarlarin koleksiyonu std unordered multiset Anahtarlarina gore karma tablolarla siralanmis tekrarlanan anahtarlarin koleksiyonu std unordered map Anahtar deger ciftlerinin koleksiyonu anahtarlar icin karma tablolarla siralanmis std unordered multimap Anahtar deger ciftlerinin koleksiyonu anahtarlar icin karma tablolarla siralanmis tekrarlanan anahtarlari icerir Konteyner Adaptorleri std stack Yiginlama LIFO islevselligi saglayan bir konteyneri adapte eder std queue Kuyruk FIFO islevselligi saglayan bir konteyneri adapte eder std priority queue Oncelikli kuyruk islevselligi saglayan bir konteyneri adapte eder Dizi C 11 std array Sabit boyutlu bir statik dizi Tuple C 11 std tuple Heterojen degerlerin sabit boyutlu koleksiyonu Diger std bitset Boolean degerlerin bir dizisi olarak temsil edilen bitlerin koleksiyonu AlgoritmalarStandard Sablon Kutuphanesindeki lt algorithm gt sinifi bircok farkli container turunde kullanilabilen veya sadece bir container turune ozel fonksiyonlar bulundurur Bu fonksiyonlardan yararlanabilmek icin lt algorithm gt sinifini ana koda dahil etmek gerekir Bu da include lt algorithm gt ifadesi ile gerceklestirilir Kaynakca en cppreference com 26 Haziran 2011 tarihinde kaynagindan arsivlendi Erisim tarihi 7 Temmuz 2021 en cppreference com 26 Haziran 2011 tarihinde kaynagindan arsivlendi Erisim tarihi 7 Temmuz 2021