Dette er en oversikt over videoer som forklarer de eksempelprogram jeg benyttet i C++ forelesningene våren 2021. De går i mer detalj enn det jeg rakk i forelesningene.
Datoen i kolonne 1 tilsvarer forelesningsdatoen for min (Lasse Natvig) parallel våren 2021.
Selve koden ligger lagret i et eget github-repo. Selv om jeg ikke jobber i TDT4102-faget lenger kan jeg prøve å
svare på spørsmål og evt. rette feil eller svakheter i eksempelprogrammene dersom du sender meg en e-post om det.
Studenter som tar TDT4102 våren 2022 eller senere må primært følge de eksempler, forelesninger og annet tilbud den utgaven av faget gir.
Informasjonen her er bare ment som et alternativt ekstratilbud..
(Notasjonen sX-Y henviser til slide nr. X til Y for den aktuelle forelesning)
Dato | Eksempelprogram-videoer og "bonus"(bruk av debugger m.m.) |
---|---|
11/1 Uke 2 |
old_hello (s21, 14 min).
* TDT4102-"blank" project" * Debugger breakpoint
casting (s26, 14 min). * TDT4102-examples * Debugger step-over, step-into, step-out |
12/1 Uke 2 |
hello_graphics (s17, 13 min). * TDT4102-examples *
Debugger: variables, locals * VS code: graphics window and text console |
18/1 Uke 3 |
string (s6-7,9, 9 min) * Alternative syntakser for initiering av streng. Innsetting av tegn, stoi, stod |
19/1 Uke 3 |
type_1 (s6-7, 25 min) * VScode: "no problems but still problems", unsafe conversion, narrowing, double precision, reading input palette (s9-11, 13 min) * Vector_ref, unnamed objects, new, color values string_2 (s12-13, 14 min) * debugger, look into string, unsafe old C-string int_input (s17-18, 13 min) * sikker innlesing av heltall kattis_example (s20-21, 19 min) * Bruk av Kattis, koding uten std_lib_facilities.h |
25/1 Uke 4 |
drill (s16, 4 min) * VS code and clang error messages. |
1/2 Uke 5 |
guessRandom (s3, 13 min) * rand() og srand(), forward-deklarasjon, assert, æ ø å |
8/2 Uke 6 |
cleanAir_tour (s21-30, 44 min) * Detailed explanation of all code in CleanAir * map, downcasting and much more stringstream (s36-37, 9 min) * istringstream, ostringstream, stringsstream. |
15/2 Uke 7 |
map_sort (s3, 9 min) * map med struct som nøkkel, overlagring av operator << og < friend (s4-5, 5 min) * nøkkelordet friend ved operator-overlagring, setfill og setw graph_demo (s13, 8 min) * move av grafikk-objekt, line-style, arv av klasse subClass (s42, 13 min) * klasser og arv, upcasting, delegating constructor |
22/2 Uke 8 |
GUI_1 (s17-30, 26 min) * call_back-funksjoner, Button, Menu m.m. |
1/3 Uke 9 |
myVector_1 (s7-13, 7 min) * basis vector-struktur, new for dynamisk minne som C-tabell this (s18-20, 8 min) * få tak i "koden sitt eget objekt", this-pekeren myVector2 (s23-28, 16 min) * minne-lekkasje, motivasjon kopi-konstruktør og tilordnings-operator, minnebruk og overvåking cArrays-Part1 (s29-30, 11 min) * globale C-tabeller, manglende initiering, watch-vindu, peker-artimetikk |
8/3 Uke 10 |
cArrays-Part2 (s8-12, 13 min) * C-strenger, null-terminering, 1 og 2-dimensjonale C-tabeller callSequence (s13, 10 min) * Rekkefølge på kall av kopi-konstruktør m.m. ifm. klasser og arv myVector3 (s14-18, 18 min) *myVector m/ initialiserings-liste, indeks-sjekk med .at(i) m.m myVector4 (s25-29, 9 min) * generisk myVector med template, generisk programmering linkedList (s30, 10 min) * lenket liste, pekere, nullptr |
15/3 Uke 11 |
uniquePtr (s8-12, 11 min) * unique_ptr, make_unique, debugger step-into myVector5 (s18-20,36, 14 min) * move, exception, iterator listFriend (s26-28, 10 min) * friend class deklarasjon (Utenfor pensum: CMB local testing (12 min) * Enkel testing før CMB-upload, litt om powershell, .bat-fil og file-compare i VScode |
22/3 Uke 12 |
iterator (s4-7, 10 min) *iterator, ulike typer algo_1 (s8-14, 11 min) * find, find_if, predikat, funksjons-objekt map_2 (s26-27, 5 min) * map, size, insert, erase, at |
12/4 Uke 15 |
algo_2 (s4-8, 14 min) * for_each, unique_copy, merge, transform, set-operations algo_3 (s10-14, 10 min) *accumulate, inner_product, partail_sum, sort C-string (s22-23, 13 min) * strcpy, strcpy_s, strcat, strncat, strchr, strstr arguments (s29, 4 min) * int main(int argc, char* argv[ ]), kommandolinjeargumenter |
13/4 Uke 15 |
testing (s10-16, 23 min) * enkel automatisert testing med test-cases på fil list_and_tree (s22-28, 18 min) * Lenkes liste og binær tre, bruk av rekursjon |