Mustafa Kemal Üniversitesi Bilgisayar Mühendisliği Bölümü Ders Materyal Ve Notları

Sponsor

türden bağımsız topluluklar etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
türden bağımsız topluluklar etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

14 Temmuz 2014 Pazartesi

C++’ın türden bağımsız toplulukları (generic containers)

Posted by samgar at 12:23 0 Comments

Çoğu program, aynı türden birden fazla nesneyi daha sonradan üzerlerinde işlem yapmak amacıyla bir araya getirir. Örneğin, tanıdık ödev programlarından olan öğrenci notlama programı; öğrencileri bir öğrenciler topluluğunda, her öğrencinin
derslerini bir dersler topluluğunda ve her derste aldığı notları da bir notlar topluluğunda tutar.
Nesneleri böyle bir araya getiren çeşitli veri yapıları vardır.
Bu tür veri yapılarına, bu yazı içinde C++ dünyasında kullanılan ‘container’ın karşılığı olarak ‘topluluk’ diyeceğim.
C programlama dili, yalnızca bir tane topluluk sunar: dizi.
Dizi, C’nin temel dil olanaklarındandır. C’nin standart kütüphanesi topluluklar konusunda hiçbir yardımda bulunmaz. Ne yazık ki C’nin dizileri, kendi büyüklüklerinden bile haberleri
olmayan çok basit yapılardır.
C++, C’nin topluluklar konusundaki bu eksikliğini şablon (template) olanağı yardımıyla büyük ölçüde giderir ve programcılara ustalar tarafından tasarlanmış, yazılmış ve
denenmiş topluluklar ve algoritmalar sunar.
C++ standart kütüphanesinde bulunan topluluklar çok kısaca şöyle tanıtılabilirler:

Türden bağımsız bir toplama algoritması

Posted by samgar at 12:22 0 Comments

C++’ın şablonları (templates) sayesinde, türden bağımsız algoritmalar ve veri yapıları oluşturabiliriz.
Şablonların ve türden bağımsız programlamanın ne olduğunu göstermek için, önce şablon olanağı olmayan C dilinde yazılmış bir algoritma vereyim.
‘toplam’ adındaki bu algoritma, kendisine gösterilen bir dizi tamsayının toplamını döndürüyor olsun:
int toplam(int const * bas, int const * son)
{
    int sonuc = 0;

    for ( ; bas != son; ++bas)
    {
        sonuc += *bas;
    }
    
    return sonuc;
}
Bu algoritmada iki noktaya değinmek istiyorum.

Sponsor

Yazılarım Korunuyor

Yandex Metrica

Yandex.Metrica

Toplam Sayfa Görüntüleme Sayısı

back to top