Kurs/Metaprogrammering i C++-templates: Difference between revisions
< Kurs
(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 | <b>Kursholder</b>: Stian Valentin Svedenborg<BR> | ||
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.