Abstractions

L'orienté objet va couvrir :

  • La syntaxe de l'orienté objet

  • L'héritage

  • Les tables virtuelles

  • L'upcasting et le downcasting

  • Les 'Run-Time Type Information'

  • Le mot-clé friend

Les templates (1/2) va aborder :

  • Le duck typing

  • La spécialisation de templates

  • L'utilisation des traits

  • Les concepts

  • Les variadic templates

  • Le mot-clé constexpr

  • La comparaison des templates aux interfaces

Les move & smart pointers va parler :

  • Des opérations de move (le constructeur et l'assignement)

  • Des rvalue references

  • Des catégories des expressions (glvalues, lvalues, xvalues, rvalues et prvalues)

  • Des smart pointers (std::unique_ptr, std::shared_ptr et std::weak_ptr)

  • Des forwarding references

Les exceptions va expliquer :

  • Le Stack Unwinding

  • Les garanties possibles d'une fonction

  • Le mot-clé noexcept

  • La hiérarchie standard des exceptions

  • Les avantages et inconvénients face aux codes d'erreur

Les lambdas & opérateurs va passer en revue :

  • Les function objects

  • std::function<Ret(Args...)>

  • Les opérateurs new et delete

  • D'autres opérateurs

Le multithreading va présenter :

  • Les threads et std::thread

  • std::mutex et les locks

  • std::condition_variable

  • std::future et std::promise

  • std::async et std::packaged_task

  • Les opérations atomiques

  • Les garanties lock-free et wait-free

Les templates (2/2) va évoquer :

  • La Template Meta-Programmation

  • Substitution Failure Is Not An Error

  • std::void_t, std::enable_if, is_detected

  • Les fold expressions

Last updated