- Katılım
- 29 Ağu 2022
- Mesajlar
- 277
- Tepkime puanı
- 1,106
- Puanları
- 93
ninjanetwork
Selamlar Srocave Ailesi! Bu konuda, C++’ın güçlü kütüphanelerinden biri olan STL’yi (Standart Şablon Kütüphanesi) inceleyeceğiz. Keyifli okumalar!
C++ STL, Generic Programlama prensipleriyle geliştirilmiş bir şablon kütüphanesidir. İçerisinde çeşitli sınıflar, fonksiyonlar ve algoritmalar barındırır. Bu sayede, önceden yazılmış fonksiyonları ve veri yapıları, kolayca ve bağımsız olarak projelerinizde kullanabilirsiniz.
STL üç ana yapıdan oluşur: Konteynerler (Taşıyıcılar), İteratörler (Döngüler) ve Algoritmalar.
STL kullanırken, ihtiyaç duyulan her kütüphane başlığını ayrı ayrı eklemek zor olabilir. Bu yüzden çoğunlukla #include <bits/stdc++.h> başlığı kullanılarak tüm STL bileşenleri projeye dahil edilir ve kod karmaşası azaltılır.
Örneğin, bir dizi isim veya sayı listesini vector konteyneri ve sort algoritmasıyla nasıl sıralayabileceğinizi aşağıdaki gibi gösterebiliriz.
Class türünde bir örnek
C++ STL Nedir?
C++ STL, Generic Programlama prensipleriyle geliştirilmiş bir şablon kütüphanesidir. İçerisinde çeşitli sınıflar, fonksiyonlar ve algoritmalar barındırır. Bu sayede, önceden yazılmış fonksiyonları ve veri yapıları, kolayca ve bağımsız olarak projelerinizde kullanabilirsiniz.
STL’nin Temel Bileşenleri
STL üç ana yapıdan oluşur: Konteynerler (Taşıyıcılar), İteratörler (Döngüler) ve Algoritmalar.
- Algoritmalar: Sıralama, arama gibi temel bilgisayar bilimi işlemlerini gerçekleştirir.
- Konteynerler: Diziler, bağlı listeler, hash tablolar gibi veri saklama yapılarıdır.
- İteratörler: Algoritmalar ile konteynerler arasında köprü görevi görür; veri üzerinde gezinmeyi sağlar.
STL Nasıl Kullanılır?
STL kullanırken, ihtiyaç duyulan her kütüphane başlığını ayrı ayrı eklemek zor olabilir. Bu yüzden çoğunlukla #include <bits/stdc++.h> başlığı kullanılarak tüm STL bileşenleri projeye dahil edilir ve kod karmaşası azaltılır.
STL’ye Kısa Bir Bakış: Örnek Kullanım
Örneğin, bir dizi isim veya sayı listesini vector konteyneri ve sort algoritmasıyla nasıl sıralayabileceğinizi aşağıdaki gibi gösterebiliriz.
C++:
#include <iostream>
#include <vector> // Vector
#include <algorithm> // Sıralama (sort) algoritması
using namespace std;
int main()
{
vector<string> kisiler;
kisiler.push_back("Kasif");
kisiler.push_back("Hakan");
kisiler.push_back("Samet");
kisiler.push_back("Birkan");
for (auto mevcut : kisiler)
{
cout << mevcut << endl;
}
sort(kisiler.begin(), kisiler.end());
for (auto mevcut : kisiler)
{
cout << mevcut << endl;
}
return 0;
}
C++:
#include <iostream>
#include <vector> // Vector
#include <algorithm> // Sıralama (sort) algoritması
using namespace std;
int main()
{
vector<int> sayilar;
sayilar.push_back(1881);
sayilar.push_back(1919);
sayilar.push_back(1923);
sayilar.push_back(1939);
for (auto mevcut : sayilar)
{
cout << mevcut << endl;
}
sort(sayilar.begin(), sayilar.end());
for (auto mevcut : sayilar)
{
cout << mevcut << endl;
}
return 0;
}
Class türünde bir örnek
C++:
public:
static int nesneSayisi;
Kisi(string a, string s) {
cout << "Nesne olusturuluyor." << endl;
this->adi = a;
(*this).soyadi = s;
Kisi::nesneSayisi++;
}
string yazdir() {
return this->adi + " " + this->soyadi;
}
~Kisi() {
cout << "Nesne siliniyor." << endl;
}
};
int Kisi::nesneSayisi = 0;
int main(){
Kisi *p;
Kisi k1("XAVİER", "ECKERT");
Kisi k2("LEVİ", "DOMATES");
p = &k2;
cout << k1.yazdir() << endl;
cout << p->yazdir() << endl;
cout << "Kopya sayisi : " << Kisi::nesneSayisi << endl;
return 0;
}