Programcılara biraz da eğlence olsun diye sorulan popüler sorulardan biri bu: 1‘den 100‘e kadar tamsayıları bir döngü deyimi, bir goto deyimi ya da özyineleme
ilk değer verme (initialization) – 1
C++ sentaksının en fazla zorluk içerdiği noktalardan biri ilk değer verme (initialization). Bu konuda dilin çok sayıda kuralı ve bu kurallara ilişkin kullanılan çok
string sabitleri (string literals)
C dilinde çift tırnak içinde yazılan karakterlerin oluşturduğu atomlara (token) string sabiti (string literal) denir. Örneğin:
1 2 3 |
"Necati Ergin" "x = %d\n" "lütfen bir tamsayı giriniz : " |
ifadelerinin hepsi string sabitleridir. C’de bir string
STL bölümleme (partition) algoritmaları
Uygulamalarda en sık gereksinim duyulan işlemlerden birisi bölümleme (partitioning). Bölümleme, bir veri yapısında tutulan öğeleri bir koşulu sağlayan ve sağlamayanlar olarak iki kısma ayırma
delege eden kurucu işlev (delegating constructor)
Bir sınıfın birden fazla kurucu işlevinin olması çok doğal ve çoğu zaman da gerekli. Bu durumda çoğunlukla bu kurucu işlevlerin paylaştığı ortak bir kod
bind işlev uyumlandırıcısı (bind function adaptor)
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,
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”
bir sınıfın belirli bir üye işlevine arkadaşlık vermek
A isimli bir sınıfımız var ve bu sınıfın, B isimli bir başka sınıfın geri dönüş değeri olmayan, parametresi A sınıfı türünden olan foo isimli üye işlevine arkadaşlık vermesi
bir işlev çağrısını yalnızca belirli bir türden argümanla sınırlamak
Bir işlevimiz var ve bu işlevin yalnızca belirli bir türden argümanla çağrılabilmesini güvence altına almak istiyoruz:
1 |
void func(int); |
Amacımız yukarıdaki gibi bildirilen bir işlevin yalnızca