Στην γλώσσα προγραμματισμού C++, η Πρότυπη βιβλιοθήκη C++ είναι ένα σύνολο από κλάσεις-αντικείμενα (classes) αλλά και συναρτήσεις, που έχουν γραφτεί στο πυρήνα της γλώσσας και είναι μέρος του πρότυπου της γλώσσας (η βιβλιοθήκη ανήκει στο ορισμό-πρότυπο της γλώσσας κατά ISO). Η βιβλιοθήκη παρέχει στο προγραμματιστή γενικά κοντέινερ (containers) για τύπους δεδομένων, κλάσεις-αντικείμενα, συναρτήσεις αντικειµενοστρεφή προγραμματισμού, γενικά αλφαριθμητικά, ροές δεδομένων (streams για την είσοδο-έξοδο δεδομένων), υποστήριξη νέων δυνατοτήτων προγραμματισμού αλλά και συναρτήσεων καθημερινής χρήστης (όπως της εύρεσης τετραγωνικής ρίζας αριθμού). Η Πρότυπη βιβλιοθήκη C++ συμπεριλαμβάνει και 18 αρχεία επικεφαλίδων (header files) τα οποία έχουν επέκταση το ".h" από την C Πρότυπη βιβλιοθήκη. Η χρήση αυτών των βιβλιοθηκών έχει αποδοκιμαστεί. Τα αρχεία επικεφαλίδων της Πρότυπης βιβλιοθήκης C++ δεν έχουν επέκταση το ".h" και βρίσκονται κάτω από το χώρο ονομάτων (namespace) std
.
Η Πρότυπη βιβλιοθήκη C++ είναι βασισμένη στους φορμαλισμούς της Στάνταρντ βιβλιοθήκης προτύπων (Standard Template Library: STL). Παρόλο που η Πρότυπη βιβλιοθήκη C++ και η βιβλιοθήκη STL μοιράζονται πολλά χαρακτηριστικά, καμία δεν αποτελεί αυστηρό υποσύνολο της άλλης. Συγκεκριμένα η Πρότυπη βιβλιοθήκη C++ έχει επηρεαστεί από το έργο του Αλεξάντερ Στεπάνοβ και του Μένγκ Λι.
Η Πρότυπη βιβλιοθήκη C++ υποβλήθηκε στη δημιουργία του πρότυπου (ISO) για την C++ και συνεχώς εξελίσσεται η λειτουργικότητά της.
Τα παρακάτω αρχεία επικεφαλίδων και ορισμών είναι μέρος της Πρότυπης βιβλιοθήκης C++.
std::bitset
, δηλαδή ένα πίνακα μπιτ (bit) - με λογικές τιμές τύπου bool (boolean).std::deque
, δηλαδή μια ουρά στοιχείων όπου στοιχεία μπορούν να αφαιρεθούν και από την αρχή και από το τέλος.std::list
, δηλαδή μια λίστα στοιχείων.std::map
και ένα τύπου std::multimap
, δηλαδή ένα ταξινομημένο πίνακα συσχετισμένων στοιχείων, και ένα πολλαπλό πίνακα συσχετισμένων στοιχείων.std::queue
, δηλαδή μια ουρά στοιχείων.std::set
και τύπου std::multiset
, δηλαδή ένα ταξινομημένο κοντέινερ συσχετισμένων στοιχείων.std::stack
, δηλαδή μια στοίβα στοιχείων.std::vector
, δηλαδή ένα δυναμικό πίνακα στοιχείων.std::auto_ptr
.std::logic_error
και την std::runtime_error
, οι οποίες κληρονομούνται από την κλάση std::exception
.std::pair
. Χρησιμοποιείται σε δομές όπου χρειάζονται ζευγάρια αντικειμένων.std::string
με την λειτουργικότητα ενός αλφαριθμητικού.std::istream
όπως και άλλες σχετικές κλάσεις-αντικείμενα για είσοδο (ροές εισόδου δεδομένων).std::ostream
όπως και άλλες σχετικές κλάσεις-αντικείμενα για έξοδο (ροές εξόδου δεδομένων).std::sstream
όπως και άλλες σχετικές κλάσεις-αντικείμενα για επεξεργασία αλφαριθμητικών (ροές δεδομένων αλφαριθμητικών).std::complex
όπως και άλλες σχετικές συναρτήσεις για την χρήση μιγαδικών αριθμών.std::valarray
, μια κλάση-πίνακα για αριθμητική επεξεργασία.std::exception
, μια βασική κλάση η οποία χειρίζεται όλες τις εξαιρέσεις που δημιουργούνται από την πρότυπη βιβλιοθήκη της C++.std::numeric_limits
, η οποία περιέχει τις ιδιότητες των βασικών αριθμητικών τύπων.new
και delete
και άλλες συναρτήσεις και τύπους που είναι βασικοί για την διαχείριση μνήμης στην C++.Κάθε αρχείο επικεφαλίδας της πρότυπης βιβλιοθήκης C συμπεριλαμβάνεται στην πρότυπη βιβλιοθήκη C++ με διαφορετικό όνομα με την διαφορά αφαιρείται το τελικό .h και προστίθεται στην αρχή ένα 'c'. Για παράδειγμα το αρχείο επικεφαλίδας 'time.h' της C γίνεται 'ctime' στην C++. Η μοναδική διαφορά μεταξύ των αρχείων επικεφαλίδων από αυτών της παραδοσιακής βιβλιοθήκης της C είναι ότι οι συναρτήσεις μπορούν να χρησιμοποιηθούν κάτω από το χώρο ονομάτων (namespace) std:: (αν και κάποιοι μεταγλωττιστές - compilers αυτό κάνουν). Στο ISO της γλώσσας C, οι συναρτήσεις στην πρότυπη βιβλιοθήκη μπορούν να υλοποιούνται χρησιμοποιώντας macros, κάτι το οποίο δεν επιτρέπεται στο ISO της C++.
Owlapps.net - since 2012 - Les chouettes applications du hibou