Birden çok tür parametresi
- C++ kursu
- Orta seviye
- Ders 50/116
- 5 dk
template<typename T, typename U> ile birden çok türü öğrenirsin.
Birden çok tür parametresi
Bir şablon, birden çok tür parametresi alabilir. template <typename T, typename U> struct Pair { T first; U second; }; bildirimi iki tür parametresi tanımlar. Türler virgülle ayrılır.
Örnek: Pair<int, double> p; ile first int, second double olur. p.first = 3; p.second = 3.14; ile üyeler ayarlanır. Tür sırası bildirim sırasıyla aynıdır: ilk tür T'ye, ikinci tür U'ya karşılık gelir. STL'in std::pair ve std::map'i bu deseni kullanır.
Pair kullanımı
Pair örneği oluşturma: Pair<int, double> p;. Üyelere doğrudan erişilir: p.first = 3; p.second = 3.14;. Tür sırası bildirimle aynı olmalıdır.
Yanlış sıra: Pair<double, int> p; p.first = 3.14; p.second = 3; — burada first double, second int olur. Türler yer değiştirir. Hangi türün hangi üyeye karşılık geldiğini bildirimden okursun. std::pair, STL algoritmalarında anahtar-değer çifti olarak sıkça kullanılır.
Uygulama Pair şablonunu yaz
template <typename T, typename U> struct Pair yaz. İçinde T first; ve U second; olsun. main içinde Pair<int, double> p;, p.first = 3;, std::cout << p.first << std::endl; yaz.
Başlangıç kodu
#include <iostream>
// Pair şablonunu yaz: T first, U second
int main() {
// Pair örneği oluştur ve first yazdır
return 0;
}Örnek çözüm
#include <iostream>
template <typename T, typename U>
struct Pair {
T first;
U second;
};
int main() {
Pair<int, double> p;
p.first = 3;
p.second = 3.14;
std::cout << p.first << std::endl;
return 0;
}Beklenen çıktı
3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Pair<int, double> kaç tür parametresi alır?
template <typename T, typename U> struct Pair;- Sıfır
- Bir
- Üç
- İki Doğru cevap
Açıklama: Pair<int, double> iki tür parametresi alır: T ve U.
2 Pair bildirimini tamamla
Pair<int, ____> p;
Pair<int, double> p;
Açıklama: Pair<int, double> p; second üyesi double olur.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
typename T, typename U |
İki tür parametresi |
T first |
İlk türün üyesi |
U second |
İkinci türün üyesi |
Pair<int, double> |
Örnek oluşturma |