Ana içeriğe geç
Modül 8 · Ders 1 ders 2Kurstaki 17/18~12 min
Modül dersleri (1/2)

İşlev Şablonları

Şablonlar C++'da genel kod yazmaya olanak tanır. Şablonlar aracılığıyla, genel tür parametreleri üzerinde çalışan işlevleri veya sınıfları tanımlayabilir, böylece derleyicinin istenen belirli türler için gerçek kodu oluşturmasına olanak sağlayabiliriz.

İşlev Şablonu Tanımlama

Bir işlev şablonunu tanımlamak için, işlev tanımının önüne template anahtar sözcüğünü koyarız ve ardından <> açılı parantez içine alınmış tür parametrelerinin listesini koyarız. Genel bir türü bildirmek için genellikle typename veya class kullanılır.

C++
// T is the generic type parameter
template <typename T>
T add(T a, T b) {
    return a + b;
}

İşlev Çağrısı ve Şablon Bağımsız Değişken Çıkarımı

Fonksiyonu çağırdığımızda tipini açılı parantez içinde açıkça belirtebiliriz:

C++
int res1 = add<int>(5, 10);
double res2 = add<double>(3.14, 2.71);

Bununla birlikte, C++ derleyicisi genellikle iletilen giriş parametrelerinden tipi otomatik olarak çıkarabilir (Şablon Bağımsız Değişken Çıkarımı):

C++
int res1 = add(5, 10); // The compiler deduces that T is int

Kendin dene

Egzersiz#cpp.m8.l1.e1
Denemeler: 0Yükleniyor…

T genel türünden iki parametre alan ve ikisinden büyük olanı döndüren myMax adında bir işlev şablonu tanımlayın.

Düzenleyici yükleniyor…
İpucu göster

'Şablon &lt;tür adı T>' yazıp ardından 'T myMax(T a, T b)' imzasını yazarak başlayın.

3 denemeden sonra çözüm mevcut

Egzersiz#cpp.m8.l1.e2
Denemeler: 0Yükleniyor…

T1 ve T2 farklı genel türlerinden iki parametre alan ve std::cout kullanarak boşlukla ayrılmış iki bağımsız değişkeni yazdıran, printPair adında bir işlev şablonu yazın.

Düzenleyici yükleniyor…
İpucu göster

Şablon bildiriminde iki parametre belirtilmelidir: 'şablon &lt;tipadı T1, tipadı T2>'.

3 denemeden sonra çözüm mevcut