Rehber - C+ Standart Şablon Kütüphanesi (STL) – Temel Bilgiler ve Kod Örnekleri | SroCave - SRO Destek Forumu

Rehber C+ Standart Şablon Kütüphanesi (STL) – Temel Bilgiler ve Kod Örnekleri

  • Konbuyu başlatan Konbuyu başlatan Purple
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 142

Purple

BeakYung The White Viper
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 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;
}
 
Etiketler Etiketler
Yok

Geri
Üst Alt