Föreläsningar
Här är en översiktlig plan över vad som kommer att tas upp på föreläsningarna.
Bilder från föreläsningarna kommer att läggas till efterhand.
Föreläsning | Rubrik |
1 | F1: Introduktion |
2 | F2: Om funktionsanrop. Pekare. Användardefinierade typer. I/O |
3 | F3: Klasser. |
4 | F4: Kopiering. Introduktion till standardbiblioteket.; |
5 | F5: Mer om funktioner och standardbibliotekets algoritmer. |
6 | F6: Resurshantering. |
7 | F7: Felhantering. Namespaces. Typomvandling. Array-representation. |
8 | F8: Polymorfism och arv |
9 | F9: Generisk programmering: Mallar, typhärledning och funktionsobjekt |
10 | F10: Mer om resurshantering: klasser och standardbiblioteket |
11 | F11: Lågnivå-detaljer |
12 | F12: Sammanfattning |
13 | F13: Sammanfattning: Blandade ämnen, tid för frågor och exempel |
Material relaterat till föreläsningarna
Här kan material som kodexempel från föreläsningarna komma att publiceras.
Föreläsning 1:
Kodexempel:
- print_squares.cc
- unsigned.cc (varnande exempel om "usual arithmetic conversions")
- object_value.cc (exempel på att en typecast betyder "tolka en variabel enligt en annan typ")
Föreläsning 2:
Kodexempel:
- file_io_example.cpp (Exempel på "rå" I/O från en file input stream. Studera och försök förstå vad programmet gör.)
Föreläsning 3:
Kodexempel: f03_const.cc operators.cc static_example.cc
Föreläsning 4:
konstruktorer och kopiering av objekt: copying.cc ctors.cc
de tre overloads för konstruktor och assign för containers: containers.cc
associativa containers: map_and_set.cpp
templates och duck_typing: fn_template.ccduck_typing.cc
Föreläsning 5:
Kodexempel: f05_algorithms.cc copy_if.cc iter-alg.cc lambdas.cc randint.cc
Föreläsning 6:
Kodexempel: smart_pointer_pass.cc vector_unique_ptr.cc
Föreläsning 7:
Kodexempel: assert.cc print_seq.h exception-terminate.cc typecast.cc
example_adl.cc example_adl2.cc (namespaces och Argument Dependent Lookup)
multi-array-mem.cc (Multi-dimensional arrays: array of pointers vs array of arrays)
cast_point.cc object_value.cc typecast_int_string.cc (exempel på att en typecast av en pekare eller referens betyder "tolka en variabel enligt en annan typ")
Föreläsning 8:
Kodexempel: polymporph-classes.cc
Fallgropar: slicing.cc downcast.cc virtual_dtor.cc overload.cc
Föreläsning 9:
Kodexempel: function-templates.cc template-class.cc template-variadic.cc template-functional.cc templates-arraysize.cc
static_example_crtp.cc (example of a "mixin")
Några exempel på metaprogrammering: template-meta.cc (överkurs)
Föreläsning 10:
Kodexempel: move.cc example_copying.cc vector_swap.cc
Föreläsning 11:
Kodexempel: typecast_int_float.cpp, comma.cpp, meta.cc, ratio.cc, namecmp.cc
Föreläsning 12:
Kodexempel: conversion-and-copy.cc, example_no_overload.cc, slicing_dispatch.cc,