C++-Standardbibliothek - kurz & gut - Rainer Grimm - E-Book

C++-Standardbibliothek - kurz & gut E-Book

Rainer Grimm

4,9

Beschreibung

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.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 178

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
4,9 (18 Bewertungen)
16
2
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



C++-Standardbibliothek

kurz & gut

RainerGrimm

Kapitel 1. Einführung

C++-Standardbibliothek – kurz & gut ist eine Schnellreferenz zur Standardbibliothek des C++-Standards C++11. Der internationale Standard ISO/IEC 14882:2011 umfasst gut 1.300 Seiten und wurde 2011 veröffentlicht, also 13 Jahre nach dem bisher einzigen C++-Standard C++98. Formal betrachtet, ist zwar C++03 ein weiterer C++-Standard, der 2003 verabschiedet wurde. C++03 hat aber nur den Charakter einer technischen Korrektur.

Ziel dieser Kurzreferenz ist es, die Standardbibliothek von C++ kompakt vorzustellen. Im O'Reilly Verlag ist auch ein Buch zur C++-Kernsprache in der Reihe Taschenbibliothek erschienen. Ein Buch zur C++-Standardbibliothek setzt die Features der C++-Kernsprache voraus. Gegebenenfalls werde ich Features der Kernsprache vorstellen, um die Funktionalität der Standardbibliothek besser darstellen zu können. Beide Bücher dieser Reihe sind in Stil und Umfang sehr ähnlich und ergänzen sich ideal. 2014, beim Schreiben dieses Werks, wurde eine Ergänzung des C++11-Standards verabschiedet: C++14. In diesem Buch werde ich auf einige Neuerungen für C++ eingehen, die C++14 für die Standardbibliothek mit sich bringt.

Dieses Buch wurde für den Leser geschrieben, der eine gewisse Vertrautheit mit C++ besitzt. Dieser C++-Programmierer wird aus der konzentrierten Referenz der Standardbibliothek von C++ den größten Nutzen ziehen. Wenn C++ für Sie hingegen noch neu ist, sollten Sie im ersten Schritt ein Lehrbuch über C++ dieser Kurzreferenz vorziehen. Haben Sie das Lehrbuch aber gemeistert, hilft Ihnen dieses Werk mit den vielen kurzen Codebeispielen, die Komponenten der Standardbibliothek von C++ in einem weiteren Schritt sicher anzuwenden.

Konventionen

Mit diesen wenigen Konventionen sollte das Buch leichter lesbar sein.

Typografie

In dem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Diese Schrift wird für Dateinamen und Hervorhebungen verwendet.

Nichtproportionalschrift

Diese Schrift wird für Code, Befehle, Schlüsselwörter und Namen von Typen, Variablen, Funktionen und Klassen verwendet.

Quellcode

Obwohl ich kein Freund von using-Anweisungen und using-Deklarationen bin, da sie die Herkunft einer Bibliotheksfunktion verschleiern, werde ich gegebenenfalls in den Codebeispielen davon Gebrauch machen, und zwar einfach, weil die Länge einer Seitenzeile beschränkt ist. Es wird aber immer aus dem Codebeispiel hervorgehen, ob ich eine using-Deklaration (using std::cout;) oder eine using-Anweisung (using namespace std;) verwendet habe.

In den Codebeispielen werde ich nur die Header-Datei verwenden, dessen Funktionalität in dem Kapitel dargestellt wird.

Wahrheitswerte werde ich in den Ausgaben der Codebeispiele immer als true oder false darstellen, auch wenn das std::boolalpha-Flag (siehe „Formatangabe“) in dem Beispiel nicht verwendet wird.

Wert versus Objekt

Built-in-Datentypen, die C++ von C geerbt hat, nenne ich der Einfachheit halber Werte. Anspruchsvollere Datentypen, die oft Built-in-Datentypen enthalten, nenne ich Objekte. Dies sind in der Regel benutzerdefinierte Datentypen oder auch Container.

Index

Da die Namen der Standardbibliothek mit dem Namensraum std beginnen, verwende ich diesen im Index der Einfachheit halber nicht, sodass zum Beispiel die Information zum Vektor std::vector im Index unter vector zu finden ist.

Danksagungen

Ich möchte Alexandra Follenius, meiner Lektorin bei O'Reilly, für ihre Unterstützung und Anleitung bei der Arbeit mit diesem Buch danken. Danke vor allem aber auch an Karsten Ahnert, Guntram Berti, Dmitry Ganyushin, Sven Johannsen, Torsten Robitzki und Bart Vandewoestyne, die sich die Zeit genommen haben, das Manuskript auf sprachliche und insbesondere inhaltliche Fehler zu durchleuchten.

C++ versus C++11

Wer könnte C++11 besser charakterisieren als Bjarne Stroustrup, Erfinder von C++:

Surprisingly, C++11 feels like a new language: The pieces just fit together better than they used to and I find a higher-level style of programming more natural than before and as efficient as ever.

—Bjarne Stroustrup, http://www.stroustrup.com/C++11FAQ.html

Bjarne Stroustrup hat recht. C++11 fühlt sich wie eine neue Sprache an, denn C++11 hat einiges gegenüber klassischem C++ zu bieten. Dies trifft nicht nur auf die Kernsprache, dies triff vor allem auch auf die verbesserte und deutlich erweiterte Standardbibliothek zu. Die Bibliothek mit den regulären Ausdrücken für die mächtigere Verarbeitung von Texten, die Type-Traits-Bibliothek, um Typinformationen zu erhalten, zu vergleichen oder zu modifizieren, sowie die neue Zufallszahlen- oder Zeitbibliothek sind nun genauso auf der Habenseite von C++ wie die erweiterten Smart Pointer für die explizite Speicherverwaltung oder die neuen Container std::array und std::tuple. Neu ist vor allem aber auch, dass sich C++ zum ersten Mal mit der Multithreading-Bibliothek der Existenz von mehreren Threads bewusst ist.

Kapitel 3. Praktische Werkzeuge

Praktische Werkzeuge sind Werkzeuge, die so allgemein einsetzbar sind, dass sie an kein besonderes Einsatzgebiet gebunden sind. Diese Aussage trifft auf die Funktionen und Bibliotheken in diesem Kapitel zu. So enthalten die praktischen Werkzeuge Funktionen, die auf beliebige Werte anwendbar sind und die neue Funktionen erzeugen und an einen Namen binden. Beliebige Werte beliebiger Typen lassen sich in Paaren und Tupeln speichern, Referenzen um beliebige Werte bilden. Mit den Smart Pointern lässt sich ein explizites Speichermanagement für alle Typen umsetzen. Für generelle Informationen über das C++-Typsystem sorgt die neue Type-Traits-Bibliothek.

Praktische Funktionen

Die verschiedenen Varianten der min-, max- und minmax-Funktionen lassen sich auf Werte und Initialisiererlisten anwenden. Sie sind in der Header-Datei <algorithm> definiert. Ähnliches gilt für die Funktionen , und , die auf Werten agieren. Diese drei Funktionen benötigen hingegen die Header-Datei .

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!