Dipl.-Ing. Martin Weitzel, 64380 Roßdorf bei Darmstadt

cppfor2022W50

  •  
  • https://godbolt.org/z/sc8vG64z3

 

  • Multi-Threading
  • DynamischeSpeicherverwaltung
  • Smart Pointer
  • Regular Expressions
  • "New-Style" Casts
  • Klassenspezische Typ-Umwandlung
  • Templates
  • STL-Container und Algorithmen
  • Idioms (RAII, NVI, PIMPL)

Multi-Threading Schulung in meinem Unterlagen-Archiv:

Info-Grafiken (hierfür ist kein Kennwort erforderlich):

Lambda mit Namen vs. anonyme Lambdas (auch "Funktions-Literale" geannt)

Angabe von Zeitspannen mit std::chrono:

Exceptions:

Links zu Online-kompilierbaren Beispielen aus dem Kapitel "C++FOR Exceptions":

Lesenwerte zum Thema: Wann ist Vererbung sinnvoll und wann nicht?

State-Machine Beispiele aus Schulungsunterlage (Seite BASICS-40...46) und Variationen:

Native Pointer vs. std::unique_ptr, Copy vs. Move, R-Value-Referenzen

Aufgabe: FlexCounter

Schreiben Sie eine Counter-Klasse angelehnt an die Counter aus dem Repository https://github.com/tbfe-de/Coun[t]Down (das bei dem im Namen momentan das 't' fehlt, die meisten von Ihnen haben es schon heruntergeladen).

  • Die prinzpiell wie der ChainCounter (Step-01) aussehen. Die Weitergabe des Übertrags soll allerdings an ein std::function<bool()> erfolgen,
    • also eine Funktion OHNE Argumente, die true oder false zurückgibt
  • Nur wenn diese Funktion true liefert, soll der Counter auch wieder auf 0 zurückgesetzt werden. Ansonsten soll er auf seinem Grenzwert (limit_) verbleiben.
  • Zur Demoinstration, dass alles funktiert, bauen und testen Sie dre unterschiedliche Konfiguration
  1. eine Zählerkette aus zwei solchen FlexiCountern, z.B. eine Stunden- und Mnuten-Uhr
  2. einen einzelnen Zähler, der am oberen Anschlag verbleibt
  3. einen Zähler, der eine Exception wirft, wenn er den obere Anschlag erreicht.

Hinweis zu Username / Passwort:
Ersterer ist das erste Wort im Namen des Restaurants, in dem wir zum Mittagessen sind (alles klein geschrieben); letzteres ist der verbleibende Teil des Restaurantnamens (auch überwiegend in Kleinschreibung, ABER den enthaltenen Buchstaben "a" durch die Nummer (Ziffer) des Stockwerks ersetzen, in dem sich der Kursraum befindet, den direkt folgenden Buchstaben als einzigen groß schreiben und das enthaltene "l" (= kleines "L") durch einen senkrechten Strich ersetzen.