01
Şablon Metaprogramlama
Fonksiyon ve sınıf şablonları, özelleştirme, değişken sayıda şablon parametresi, tip özellikleri, aşırı yükleme çözümlemesi ve SFINAE, statik çok biçimlilik — her biri bedelin nereye taşındığı sorusuyla birlikte.
- 01 Fonksiyon ve Sınıf Şablonları İşlev şablonu, şablon argüman çıkarımı, açık şablon argümanı ve sınıf şablonu; her yeni tip için derleyicinin yeni bir gövde üretmesi ve bu bedelin derlemeye taşınması.
- 02 Şablon Özelleştirme Tam ve kısmi özelleştirme, genel şablon, en özel olanın seçilmesi, bool paketinin bellek düzeni ve bitten okumanın koşuma bıraktığı bedel.
- 03 Değişken Sayıda Şablon Parametresi Parametre paketi, sizeof..., paket açma, özyineli açma ile katlama ifadesi karşılaştırması, std::forward ile iletme ve açma yönteminin derleyiciye kaç gövde yazdırdığı.
- 04 Tip Özellikleri Standart tip özellikleri, if constexpr ile derleme zamanında seçim, static_assert, kendi tip özelliğini yazmak ve seçimin koşumda sıfır sorgu bırakması.
- 05 Aşırı Yükleme Çözümlemesi ve SFINAE Aday ve uygun aday kavramı, şablon ile şablon olmayan işlevin yarışı, enable_if_t ile aday eleme, void_t ile algılama ve C++20 kavramlarıyla kısıtlama.
- 06 Statik Çok Biçimlilik CRTP ile derleme zamanında gönderim, sanal işlevli sürümle karşıtlık, politika sınıfları ve mixin, kavramla kısıtlanmış statik arayüz ve variant ile koşuma dönen seçim.