O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

C++-Standardbibliothek - kurz & gut

Book Description

Die C++-Bibliothek hat mit dem aktuellen C++11-Standard eine enorme Erweiterung erfahren, die Anzahl der Bibliotheken hat sich mehr als verdoppelt. Auch bestehende Bibliotheken wurden überarbeitet und deutlich verbessert. Für C++-Programmierer stecken unzählige nützliche Funktionen in den C++-Bibliotheken, die es zu entdecken gilt. Kann man diese Vielzahl an Bibliotheken so komprimiert darstellen, dass der C++-Entwickler alle wichtigen Informationen für seine Arbeit findet? Man kann! Diese handliche Referenz stellt die zum Teil noch relativ unbekannten C++-Bibliotheken kondensiert und übersichtlich dar. Nirgendwo sonst können Sie sich so kompakt darüber informieren, wie eine Bibliothek einzusetzen ist und was sie Ihnen bietet.

Table of Contents

  1. 1. Einführung
    1. Konventionen
      1. Typografie
      2. Quellcode
      3. Wert versus Objekt
      4. Index
    2. Danksagungen
    3. C++ versus C++11
  2. 2. Die Standardbibliothek
    1. Die Chronologie
    2. Überblick
      1. Praktische Werkzeuge
      2. Die Standard Template Library
      3. Numerik
      4. Textverarbeitung
      5. Ein- und Ausgabe
      6. Multithreading
    3. Bibliotheken verwenden
      1. Header-Dateien einbinden
      2. Namensräume verwenden
        1. Namen qualifiziert verwenden
        2. Namen unqualifiziert verwenden
          1. using-Deklaration
          2. using-Anweisung
        3. Namensraum-Alias
      3. Ein ausführbares Programm erzeugen
  3. 3. Praktische Werkzeuge
    1. Praktische Funktionen
      1. std::min, std::max und std::minmax
      2. std::move
      3. std::forward
      4. std::swap
    2. Adaptoren für Funktionen
      1. std::bind
      2. std::function
    3. Paare
      1. std::make_pair
    4. Tupel
      1. std::make_tuple
      2. std::tie und std::ignore
    5. Referenz-Wrapper
      1. std::ref und std::cref
    6. Smart Pointer
      1. std::unique_ptr
        1. Spezielle Löschfunktionen
        2. std::make_unique
      2. std::shared_ptr
        1. std::make_shared
        2. std::shared_ptr von this
      3. std::weak_ptr
      4. Zyklische Referenzen
    7. Type-Traits
      1. Typeigenschaften abfragen
        1. Primäre Typkategorien
        2. Zusammengesetzte Typkategorien
        3. Typeigenschaften
      2. Typen vergleichen
      3. Typen modifizieren
    8. Zeitbibliothek
      1. Zeitpunkt
      2. Zeitdauer
      3. Zeitgeber
  4. 4. Gemeinsamkeiten der Container
    1. Erzeugen und Löschen
    2. Größe bestimmen
    3. Zugriff auf die Elemente
    4. Zuweisen und Tauschen
    5. Vergleiche
  5. 5. Sequenzielle Container
    1. Arrays
    2. Vektoren
      1. size <= capacity
    3. Deque
    4. Listen
    5. Einfach verkettete Listen
  6. 6. Assoziative Container
    1. Überblick
    2. Geordnete assoziative Container
      1. Überblick
      2. Schlüssel und Wert
      3. Das Vergleichskriterium
      4. Besondere Suchfunktionen
      5. Einfügen und Löschen von Elementen
      6. std::map
    3. Ungeordnete assoziative Container
      1. Überblick
      2. Schlüssel und Wert
      3. Performance
      4. Die Hashfunktion
      5. Die Details
  7. 7. Adaptoren für Container
    1. Stack
    2. Queue
    3. Priority Queue
  8. 8. Iteratoren
    1. Kategorien
    2. Iteratoren erzeugen
    3. Nützliche Funktionen
    4. Adaptoren
      1. Einfügeiteratoren
      2. Stream-Iteratoren
  9. 9. Aufrufbare Einheiten
    1. Funktionen
    2. Funktionsobjekte
      1. Vordefinierte Funktionsobjekte
    3. Lambda-Funktionen
  10. 10. Algorithmen
    1. Konventionen für Algorithmen
    2. Iteratoren als Bindeglied
    3. for::each
    4. Nicht modifizierende Algorithmen
      1. Elemente suchen
      2. Elemente zählen
      3. Bedingungen auf Bereichen testen
      4. Bereiche vergleichen
      5. Bereiche in Bereichen suchen
    5. Modifizierende Algorithmen
      1. Elemente und Bereiche kopieren
      2. Elemente und Bereiche ersetzen
      3. Elemente und Bereiche entfernen
      4. Bereiche füllen und erzeugen
      5. Bereiche verschieben
      6. Bereiche vertauschen
      7. Bereiche transformieren
      8. Bereiche umdrehen
      9. Bereiche rotieren
      10. Bereiche zufällig neu ordnen
      11. Duplikate entfernen
    6. Partitionierungen
    7. Sortieren
    8. Binäres Suchen
    9. Merge-Operationen
    10. Heap
    11. Min und Max
    12. Permutationen
    13. Numerik
  11. 11. Numerik
    1. Zufallszahlen
      1. Zufallszahlenerzeuger
      2. Zufallszahlenverteilung
    2. Numerische Funktionen von C
  12. 12. Strings
    1. Erzeugen und Löschen
    2. Konvertierungen zwischen C++-Strings und C-Strings
    3. size versus capacity
    4. Vergleiche
    5. Stringkonkatenation
    6. Elementzugriff
    7. Ein- und Ausgabe
    8. Suchen
    9. Modifizierende Operationen
    10. Numerische Konvertierungen
  13. 13. Reguläre Ausdrücke
    1. Zeichentypen
    2. Reguläre-Ausdrücke-Objekte
    3. Das Suchergebnis match_results
      1. std::sub_match
    4. Exakte Treffer
    5. Suchen
    6. Ersetzen
    7. Formatieren
    8. Wiederholtes Suchen
      1. std::regex_iterator
      2. std::regex_token_iterator
  14. 14. Ein- und Ausgabestreams
    1. Hierarchie
    2. Ein- und Ausgabefunktionen
      1. Eingabe
        1. Formatierte Eingabe
        2. Unformatierte Eingabe
      2. Ausgabe
      3. Formatangabe
    3. Streams
      1. Stringstreams
      2. Dateistreams
      3. Dateistreams: wahlfreier Zugriff
      4. Streamzustand
    4. Eigene Datentypen
  15. 15. Multithreading
    1. Das C++-Speichermodell
    2. Atomare Datentypen
    3. Threads
      1. Erzeugen eines Threads
      2. Lebenszeit eines Threads
      3. Datenübergabe an einen Thread
      4. Operationen auf Threads
    4. Gemeinsam von Threads genutzte Daten
      1. Kritischer Wettlauf
      2. Schutz der Daten mit Mutexen
      3. Verklemmung
      4. Locks
        1. std::lock_guard
        2. std::unique_lock
      5. Sichere Initialisierung der Daten
        1. Konstante Ausdrücke
        2. Statische Variablen mit Blockgültigkeit
          1. std::call_once und std::once_flag
    5. Thread-lokale Daten
    6. Bedingungsvariablen
    7. Tasks
      1. Thread versus Task
      2. std::async
      3. std::packaged_task
      4. std::promise und std::future
  16. Stichwortverzeichnis
  17. Copyright