İçeriğe geç
academia.sh

Kurs İleri

Şablonlar ve Başarım

Yayın Güncelleme

Bu kursun sonunda

Kursa başla

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.

  1. 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ı.
  2. 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.
  3. 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ığı.
  4. 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ı.
  5. 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.
  6. 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.

02

Eşzamanlılık ve Başarım

İş parçacıkları ve kilitler, bellek modeli, önbellek dostu veri düzeni, profilleme ve karşılaştırmalı ölçüm, derleme süresi yönetimi, paket yönetimi ve derleme araçları — her biri bedelin nereye taşındığı sorusuyla birlikte.

  1. 01 İş Parçacıkları ve Kilitler std::thread ve join, std::jthread, std::mutex ile std::lock_guard, std::scoped_lock, std::unique_lock ile std::condition_variable, üretici/tüketici kuyruğu ve kilidin kaç eşgüdüm noktası eklediğinin sayılması.
  2. 02 Bellek Modeli std::atomic, okuma-değiştirme-yazma işlemleri, seq_cst, acquire, release ve relaxed bellek sıralamaları, önce-olur bağıntısı ve bir release/acquire yayınının kaç eşgüdüm noktası istediğinin sayılması.
  3. 03 Önbellek Dostu Veri Düzeni Önbellek satırı, uzamsal ve zamansal yerellik, yapı dizisi ile dizi yapısı, satır ve sütun sırası, sahte paylaşım ve bir veri düzeninin kaç bitişik olmayan geçiş bıraktığının sayılması.
  4. 04 Profilleme ve Karşılaştırmalı Ölçüm Enstrümantasyon ile örnekleme, sayaç yerleştirerek sıcak noktayı bulma, karşılaştırmalı ölçümün ısınma, yineleme ve ölü kod kuralları ve ölçümün nerede başladığının sonucu nasıl değiştirdiği.
  5. 05 Derleme Süresi Yönetimi İleri bildirim, gereksiz include azaltma, gizleme deyimi (pimpl), opak tip, açık somutlaştırma ve extern template ile derlemeden kazanılan bedelin nesne başına koşuma nasıl taşındığı.
  6. 06 Paket Yönetimi ve Derleme Araçları Bağımlılık tablosu, sürüm sabitleme ve kilit dosyasıyla yeniden üretilebilir kurulum; yalnız başlıktan oluşan şablon kütüphanesinin her birimi yeniden derletmesi.

Bitirme sınavı

Şablonlar ve Başarım — Bitirme Sınavı

Hazırlanıyor

Bu kursun soru bankası henüz tamamlanmadı. Yeterli soru eklendiğinde sınav burada otomatik olarak açılır.

Aramak için yazmaya başlayın.

↑↓ ↵ Esc gezin · aç · kapat