Modernes C++ programmieren

Aug 01, 2020

Errata (C++11)

  • Seite 15: map<string<,vector<int>>
  • Seite 133, letzte Textzeile: “In main wird die aber bei opf.return reset(nullptr)…”
  • Seite 139, Listing 19.2: “Base *p = new Base Derived {}
  • Seite 161, Listing 22.4: “return Thing(forward<T>(t), forward<TU>(u), forward<TV>(v));
  • Seite 172, letzter Absatz: “…weil das Element data_ copyOnly_ nicht verschiebbar ist.” (der Fettdruck in Listing 23.9 ist korrekt.)
  • Seite 225, drittletzte Zeile: “Mit ~~deiner~~ [seiner]{.underline} Hilfe”
  • Seite 265, zweitletzte Zeile des ersten Abschnittes: “Design für ~~einen~~ [eine]{.underline} gute Hashfunktion”
  • Seite 288, letzte Zeile: “einer von ihnen ~~das~~ [der]{.underline} Eigentümer”
  • Seite 290, Abbildung 43.2: Nur “a” ist abgekoppelt, das Objekt (grauer Block) existiert noch. Doch ist dies nun keine so gute Veranschaulichung des Textes mehr das Beispiel und die Abbildung müssen komplett angepasst werden.
  • Seite 302, 2. Zeile & Seite 305, Ende: “… string und dequeue…”
  • Seite 306, zweite Zeile im zweiten Abschnitt: “Einen Algorithmus ~~Sie können~~ [können Sie]{.underline} schlecht”
  • Seite 307, Mitte: “…mem_func_ref…”
  • Seite 308: “In der Computerwissenschaft nennt man das ~~Currying~~ [partielle Funktionsanwendung]{.underline}.”
  • Seite 310, Listing 47.5, erste Kommentarzeile: “definiert ~~einen~~ einen Funktor”
  • Seite 343, Listingunterschrift 53.3 und Absatz darunter: “~~Transparente~~ Operationen [wie gewohnt]{.underline} auf den gekapselten Wert”, sowie “Durch eine automatische Typumwandlung von und nach string ~~ist~~ [erlaubt]{.underline} das ~~für den~~ [dem]{.underline} Benutzer ~~transparent~~ [eine wie gewohnte Verwendung]{.underline}.”
  • Seite 354, dritte Zeile: “Kapitel ~~49~~ [53]{.underline}”
  • Seite 359, 7. Zeile: “Für eine[n]{.underline} durchschnittlichen Ausdruck”
  • Seite 359, Fußnote: Der Algorithmus wandelt den Ausdruck beim Optimieren in einen deterministischen endlichen Automaten (deterministic finite automata, DFA) um. Das kann im schlimmsten Fall ~~quadratisch~~ [exponentiell]{.underline} viel Zeit und Speicher benötigen~~.~~[, im Normalfall jedoch deutlich weniger.]{.underline}
  • Seite 362, Beispiel “und ratio<64,12>::den == 12 3
  • Seite 366, Zeile nach Listing 57.4: “Würde links von der Zuweisung minutes min1 stehen =
  • Seite 373, zweite Zeile: “Mit der ~~Sie können~~ [können Sie]{.underline}”
  • Seite 373, Seitenmitte: “Doch die Ansprüche aus ~~dem~~ [den]{.underline}”
  • Seite 374, erste Zeile: “die dann [wie gewohnt]{.underline} ~~transparent~~ in den anderen Komponenten”
  • Seite 375, nach Listing 59.3: “3 [GHz]{.underline} ~~Ghz~~”
  • Neues Kapitel [lib.string] Die neuen string-Bibliotheksfunktionen to_string und stoXX-Varianten werden erklärt (XX aus i, l, ll, etc.).
  • Neues Kapitel [lib.c99] Es gibt noch einige Funktionen aus C99 zu besprechen, wie fma, llround, etc.
  • Neues Kapitel zu inline namespace
  • Neues Kapitel zu neuen Stream-Manipulatoren get_money(), put_money(), get_time() und put_time()
  • Korrektur in Listing http://cpp11.generisch.de/compile-log/src/stl-f-bind.html, /size()` sollte erst nach double gecastet werden.