C++ STL(Standart Template Library)

By Birkan

Katılımcı Üye
18 Nis 2022
626
678
9sltgll.jpeg




Selamlar THT Ailesi. Bu Hafta, Bir C++ Kütüphanesi Olan C++ STL'yi Ele Alacağız. İyi Okumalar




C++ STL Nedir?

C++ STL, Generic Programlama ile yazılmış, içerisinde; sınıfları, fonksiyonları ve birçok algoritmayı barındıran bir şablon kütüphanesidir.
STL içinde barınan fonksiyon ve sınıfların Generic Programlama ile yazılmasının temel amacı; hazır işlevlerin bilakis daha kolay ve bağımsız bir şekilde kullanılmasına olanak verir.




C++ STL Yapısı

İçindeki yapı itibariyle; Taşıyıcı, Döngü ve Algoritma olarak üç başlık altında incelenebilir.

Algoritma; yapısı gereği, içinde bilgisayar bilimlerine ait olan, sıralama ve arama gibi işlevleri barındırırken;

Taşıyıcı ise içinde yine bilgisayar bilimlerine ait olan; Dizi, Bağlı Liste, İleri Yönlü Bağlı Liste, Hash Table gibi türden bağımsız saklamaya olanak tanır.

Döngü ise Taşıyıcı ve Algoritma arasında köprü kurarak, eldeki Algoritmaları taşıyıcılara taşır ve uygular.




C++ STL Nasıl Kullanılır?

STL kütüphanesinin kullanılması için her kullanılan kütüphaneye ayrı ayrı başlık eklenilmesinden dolayı, hem kod hem başlık fazlalığını önlemek adına
Başlık dosyalarının yer aldığı;
#include <bits/stdc++.h> dosyası kullanılabilir.




C++ STL Örnek Kullanımı

C++ STL String veri türü ile yazılmış örnek bir kod;


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++:
#include <iostream>

using namespace std;

class Kisi {
private:
  string adi;
protected:
  string soyadi;
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;
}


BİR SONRAKİ KONUDA TEKRAR GÖRÜŞMEK DİLEĞİYLE

ktsoeyl.jpeg
 
Son düzenleme:

THE zoRRo

Uzman üye
26 Tem 2022
1,673
1,608
19
Türk Deniz Kuvvetleri
9sltgll.jpeg




Selamlar THT Ailesi. Bu Hafta, Bir C++ Kütüphanesi Olan C++ STL'yi Ele Alacağız. İyi Okumalar




C++ STL Nedir?

C++ STL, Generic Programlama ile yazılmış, içerisinde; sınıfları, fonksiyonları ve birçok algoritmayı barındıran bir şablon kütüphanesidir.
STL içinde barınan fonksiyon ve sınıfların Generic Programlama ile yazılmasının temel amacı; hazır işlevlerin bilakis daha kolay ve bağımsız bir şekilde kullanılmasına olanak verir.




C++ STL Yapısı

İçindeki yapı itibariyle; Taşıyıcı, Döngü ve Algoritma olarak üç başlık altında incelenebilir.

Algoritma; yapısı gereği, içinde bilgisayar bilimlerine ait olan, sıralama ve arama gibi işlevleri barındırırken;

Taşıyıcı ise içinde yine bilgisayar bilimlerine ait olan; Dizi, Bağlı Liste, İleri Yönlü Bağlı Liste, Hash Table gibi türden bağımsız saklamaya olanak tanır.

Döngü ise Taşıyıcı ve Algoritma arasında köprü kurarak, eldeki Algoritmaları taşıyıcılara taşır ve uygular.




C++ STL Nasıl Kullanılır?

STL kütüphanesinin kullanılması için her kullanılan kütüphaneye ayrı ayrı başlık eklenilmesinden dolayı, hem kod hem başlık fazlalığını önlemek adına
Başlık dosyalarının yer aldığı;
#include <bits/stdc++.h> dosyası kullanılabilir.




C++ STL Örnek Kullanımı

C++ STL String veri türü ile yazılmış örnek bir kod;


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;
}



BİR SONRAKİ KONUDA TEKRAR GÖRÜŞMEK DİLEĞİYLE

ktsoeyl.jpeg
Eline sağlık Birkan, güzel konu. :)
 

By Birkan

Katılımcı Üye
18 Nis 2022
626
678

BozBarbar

Üye
11 Tem 2023
61
21
9sltgll.jpeg




Selamlar THT Ailesi. Bu Hafta, Bir C++ Kütüphanesi Olan C++ STL'yi Ele Alacağız. İyi Okumalar




C++ STL Nedir?

C++ STL, Generic Programlama ile yazılmış, içerisinde; sınıfları, fonksiyonları ve birçok algoritmayı barındıran bir şablon kütüphanesidir.
STL içinde barınan fonksiyon ve sınıfların Generic Programlama ile yazılmasının temel amacı; hazır işlevlerin bilakis daha kolay ve bağımsız bir şekilde kullanılmasına olanak verir.




C++ STL Yapısı

İçindeki yapı itibariyle; Taşıyıcı, Döngü ve Algoritma olarak üç başlık altında incelenebilir.

Algoritma; yapısı gereği, içinde bilgisayar bilimlerine ait olan, sıralama ve arama gibi işlevleri barındırırken;

Taşıyıcı ise içinde yine bilgisayar bilimlerine ait olan; Dizi, Bağlı Liste, İleri Yönlü Bağlı Liste, Hash Table gibi türden bağımsız saklamaya olanak tanır.

Döngü ise Taşıyıcı ve Algoritma arasında köprü kurarak, eldeki Algoritmaları taşıyıcılara taşır ve uygular.




C++ STL Nasıl Kullanılır?

STL kütüphanesinin kullanılması için her kullanılan kütüphaneye ayrı ayrı başlık eklenilmesinden dolayı, hem kod hem başlık fazlalığını önlemek adına
Başlık dosyalarının yer aldığı;
#include <bits/stdc++.h> dosyası kullanılabilir.




C++ STL Örnek Kullanımı

C++ STL String veri türü ile yazılmış örnek bir kod;


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++:
#include <iostream>

using namespace std;

class Kisi {
private:
  string adi;
protected:
  string soyadi;
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;
}


BİR SONRAKİ KONUDA TEKRAR GÖRÜŞMEK DİLEĞİYLE

ktsoeyl.jpeg
emeğinize sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.