Kurs/Metaprogrammering i C++-templates: Difference between revisions

From Programvareverkstedet
(opprettet siden)
 
(kursholderens etternavn har tydeligvis endret seg)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<b>Tid</b>: Torsdag 14. november 2013, kl. 18:15<BR>
<b>Tid</b>: Torsdag 14. november 2013, kl. 18:15<BR>
<b>Sted</b>: [[../Hvor er KJL5?|KJL5]] <BR>
<b>Sted</b>: [[../Hvor er KJL5?|KJL5]] <BR>
<b>Kursholder</b>: Stian Valentin Eriksen-Deinoff<BR>
<b>Kursholder</b>: Stian Valentin Svedenborg<BR>


Her kommer det mer informasjon etter hvert.
Templates i C++ er et kraftig verktøy som kan brukes til mange ting,
faktisk så mange ting at de er et turingkomplett språk i seg selv! Dette
kurset gir et innblikk i hva metaprogrammering er og hvordan begynne å
skrive sin egen metaprogramkode.
 
Metaprogrammering handler om å skrive programmer som kjører i kompilatoren.
Ved hjelp av dette kan programmereren skrive høy-nivå kode som genererer
lav-nivå optimaliseringer. Dette kurset gir en innføring i noen av
teknikkene man kan bruke for gjøre dette ved hjelp av avanserte templates i
C++, og vil gi relevante eksempler for å fortsette på egen hånd.
 
Kurset kommer til å inneholde:
* Historien til metaprogrammering.
** Hvem «oppfant» metaprogrammering?
** Hva er metaprogrammering?
* Templates i C++ (Lynrepetisjon av syntaks)
** Konstanter som templateparametre
** Partial og full spesialisering
* Eksempler:
** Constant-time factorial og fibonacci.
** Inline compile time loop-unrolling.
** Tilrettelegging for metaprogrammering i C++11.

Latest revision as of 20:51, 12 November 2013

Tid: Torsdag 14. november 2013, kl. 18:15
Sted: KJL5
Kursholder: Stian Valentin Svedenborg

Templates i C++ er et kraftig verktøy som kan brukes til mange ting, faktisk så mange ting at de er et turingkomplett språk i seg selv! Dette kurset gir et innblikk i hva metaprogrammering er og hvordan begynne å skrive sin egen metaprogramkode.

Metaprogrammering handler om å skrive programmer som kjører i kompilatoren. Ved hjelp av dette kan programmereren skrive høy-nivå kode som genererer lav-nivå optimaliseringer. Dette kurset gir en innføring i noen av teknikkene man kan bruke for gjøre dette ved hjelp av avanserte templates i C++, og vil gi relevante eksempler for å fortsette på egen hånd.

Kurset kommer til å inneholde:

  • Historien til metaprogrammering.
    • Hvem «oppfant» metaprogrammering?
    • Hva er metaprogrammering?
  • Templates i C++ (Lynrepetisjon av syntaks)
    • Konstanter som templateparametre
    • Partial og full spesialisering
  • Eksempler:
    • Constant-time factorial og fibonacci.
    • Inline compile time loop-unrolling.
    • Tilrettelegging for metaprogrammering i C++11.