Göm menyn

TDIU04 Programmering i C++, standardbibliotek

Föreläsning

Referenser till kursboken C++ direkt avser den tredje upplagan, 2011. Se även Läsanvisningar.

Föreläsningsmaterial

Föreläsningsdia Fö 1—5: 2x2  |  fullformat

Programexempel Fö 1-5


Fö 1  
14/1

C++ Standardbibliotek

Översikt av standardbiblioteket, speciellt containrar, iteratorer, algoritmer och funktionsobjekt.

Sekventiella containrar: array, vector, deque, list, forward_list.
Iteratorer: iteratorbegreppet, containeriteratorer, iteratorer och algoritmer.
Exempel på algoritmer.

Läsanvisningar: C++ direkt 2.8-2.9, 12.1-12.2, 12.4, Appendix C, kompletteringar om containrar och algoritmer.


Fö 2  
15/1

Strömiteratorer: istream_iterator, ostream_iterator.

Insättariteratorer (inserters): back_insert_iterator, front_insert_iterator, insert_iterator. Hjälpfunktionerna back_inserter, front_inserter, inserter.

Översikt av operationer för vector, deque och list: konstruktorer, destruktor, tilldelning, storlek och kapacitet, elementåtkomst, modifierare, jämförelser. list-specifika operationer.

Exempel på algoritmer.

Läsanvisningar: C++ direkt 12.1-12.2, 12.4, 8.4.8, Appendix C, kompletteringar om containrar och algoritmer.


Fö 3  
22/1

Klasstyperstruct och class

Aggregat (enkel struct/class, fält) och listinitiering, initierarlista.

Tillgänglighet för klassmedlemmar, åtkomstspecificerarna public och private.
Speciella medlemsfunktionerkonstruktorer (defaultkonstruktor, kopieringskonstruktor), destruktor, tilldelningsoperatorer (kopieringstilldelningsoperator). Orientering om flyttkonstruktor/move-konstruktor och flyttilldelningsoperator/move-tilldelningsoperator.
Initiering av datamedlemmar (initierare i deklarationen, medlemsinitierarlista i konstruktor, tilldelning i konstruktorkroppen).

Läsanvisningar: C++ direkt 7.1-7.3.5, 7.4, 15.3 (förkunskap).


Fö 4  
29/1

Containeradaptrar: stack, queue, priority_queue. Hjälpklassen pair.

Uppräkningstyper (enum)

Relaterat till strömiteratorer: operator<< och operator>>. Exempel på överlagring av dessa för en uppräkningstyp.

Namnrymder

Undantagshantering
Introduktion till undantag (exceptions): try-block, throw-uttryck, catch-hanterare.
Standardundantag (exception-hierarkin). Konstruktion av undantagshantering för standardundantag (try-catch).

Läsanvisningar: C++ direkt 12.6, 10, 5.9, 15.1.


Fö 5  
11/2

Associativa containrar
Containerklasserna map, multimap, set, multiset. Operationer.

Funktionsobjekt
Begeppet funktionsobjekt. Funktionsanropsoperatorn, operator(). Egendefinierade funktionsobjekt. Grundläggande, fördefinierade funktionsobjekt: aritmetiska, jämförare, logiska.
Konstruktion av ett enkelt, återanvändbart funktionsobjekt. Att göra om ett enkelt funktionsobjekt till en mall (template).

lambda-uttyck
lambda-introducerare, "fångare" ("lambda-capture"), "closure", "closure"-objekt.

Läsanvisningar: C++ direkt 12.5, 12.3.


Fö 6  
19/2

Funktionsobjekt, forts.

Fibonacci-generator — exempel på ett funktionsobjekt med internt tillstånd (privata datamedlemmar).

Funktionsadaptrar: Negerare, bindare och funktionsanropsadaptrar. Hjälpfunktioner för att skapa dessa (not1, not2, bind, mem_fn).

Läsanvisningar: C++ direkt 12.3, (14).



Sidansvarig: Tommy Olsson
Senast uppdaterad: 2013-01-11