C++11 ile standart kütüphaneye eklenen ve functional başlık dosyasında yer alan bind işlev şablonu genel amaçlı bir işlev uyumlandırıcısı (function adapter). bind, standart kütüphanede önceden beri var olan,
Yazılar
initializer_list sınıf şablonu
C++11 standartları ile standart kütüphanemize eklenen çok faydalı sınıf şablonlarından biri initializer_list. STL, artık bir çok yerde kendi arayüzünde bu sınıfı kullanıyor. Örneğin birçok
bileşik türler (aggregates)
Bu yazı dizisinde C++ dili açısından önem taşıyan bazı terimleri ele alacağım. Bu terimlerden ilki “aggregate”. Bu terimi türkçeye, daha iyi bir karşılık buluncaya kadar “bileşik tür”
sınıfların özel işlevlerinin derleyici tarafından yazılması – 1
C++ dilinin en karmaşık ve en fazla öğrenme zorluğu içeren araçlarından biri sınıfların özel işlevleri (special members). C++11 standartlarına göre sınıfların 6 özel işlevi var.
gösterici gösteren gösterici (pointer to pointer)
Gösterici değişkenler (pointer variables) değerleri adres olan yani adres bilgisi tutan değişkenlerdir.
1 |
int *ptr; |
gibi bir tanımlamayla ismi ptr olan bir değişken oluşturulmuş olur. Programın
operator bool işlevi
Bazı durumlarda sınıf nesnelerimizin lojik ifade beklenen yerlerde lojik yorumlamaya tabi tutulmasını isteriz. Örneğin nesneleri sayaç olarak kullanılacak Counter isimli bir sınıfımız olsun:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class Counter { public: Counter(int val = 0); Counter &operator++(); Counter operator++(int); Counter &operator--(); Counter operator--(int); // }; int main() { Counter c; ++c; // if (c) { // } // } |
lambdalarda genelleştirilmiş yakalama (generalized lambda captures)
C++14 ile lambda ifadelerinin olanakları genişletildi. Artık lambda yakalama listesinde isimlendirilmiş değişkenler oluşturabiliyor bu değişkenlere istediğimiz ifadeler ile ilk değer verebiliyoruz. Derleyici bu durumda
türden bağımsız lambdalar (generic lambda)
Geçen yazımızda lambda ifadelerini ele almıştık. Bu yazımızda ise C++14 standartlarıyla gelen araçlardan biri olan türden bağımsız lambda ifadelerini inceleyeceğiz. C++14 standartlarıyla birlikte artık
lambda ifadeleri (lambda expressions)
Bu yazımızla C++11 standartları ile dile eklenen ve C++ dilinin en sık kullanılan araçlarından biri haline gelen lambda ifadelerini ele alacağız. Bir lambda ifadesi çağrılabilecek (callable) bir kod
switch deyimi hakkında az bilinen gerçekler
Kodlarda çok sık kullandığımız switch deyimine ilişkin tüm kuralları biliyor muyuz? Bu yazıda switch deyimine ilişkin daha az bilinen kuralları ele alacağız. Hadi başlayalım…