Standardbiblioteket i C++

Standardbiblioteket i C++ er ei samling av klassar og funksjonar skrivne i programmeringsspråket C++ og inneheld funksjonsobjekt, straumar (til dømes for skriving/lesing til fil), fleire generiske konteinarar, samt. funksjonar til å manipulera desse konteinarane. Det inneheld også standardbiblioteket i C for baklengskompabilitet, men alle funksjonar og klassar knytte til dette biblioteket er offisielt avskrivne som utdaterte.

Innhald

Konteinarar 

 <array>
 Nytt i C++11. Inneheld konteinerklassetemplatet std::array, ein konteiner for tabellar med ein fast storleik.
 <bitset>
 Inneheld konteinerklassenstd::bitset, ein bittabell.
 <deque>
 Inneheld konteinerklassetemplatet std::deque, ein deque (køstruktur med to endar).
 <forward_list>
 Nytt i C++11. Han inneheld konteinerklassetemplatetstd::forward_list, ei enkelt lenka liste. 
 <list>
 Inneheld std::list, ei dobbeltlenka liste.
 <map>
 Inneheld std::map og std::multimap, ein sortert assosiativ tabell og ein multimap.
 <queue>
 Inneheld std::queue, ein køstruktur med ein ende, og std::priority_queue, ein prioritetskø.
 <set>
 Inneheld konteinerklassetemplata std::set and std::multi set,  sorterte assosiative konteinarar og mengder.
 <stack>
 Inneheldstd::stack, ein stakk (LIFO).
 <unordered_map>
 Nytt i C++11. Inneheld konteinerklassetemplata std::unordered_map and std::unordered_multimap, som er hashtabellar.
 <unordered_set>
 Nytt i C++11. Inneheld konteinerklassetemplatastd::unordered_set og std::unordered_multiset.
 <vector>
 Inneheld std::vector, ein dynamisk tabell som kan utvidast etter behov.

Generelt 

 <algorithm>
 Inneheld algoritmar stort sett for konteinarar.

 <chrono>
 Inneheld tidsstrukturar, somstd::chrono::duration, std::chrono::time_point, og ymse klokker.

 <functional>
 Inneheld klassetemplat for funksjonsobjekt. 
 <iterator>
 Inneheld klassar og templat for å arbeida med iteratorar. 

 <memory>
 Inneheld innretningar for minnehandsaming, inkludert smarte peikarar som til dømes std::unique_ptr.
 <stdexcept>
 Inneheld klassar for handsaming av exceptions, til dømes std::logic_error og std::runtime_error som begge arvar frå std::exception.
 <tuple>
 Nytt i C++11. Inneheld std::tuple, for å lage tuppel. 
 <utility>
 Inneheld std::pair, som er ein struktur for å jobbe med eit par av to objekt (eit tuppel med berre to element).

Strengar 

 <string>
 Inneheld standard C++ klassar og templat for strengar.
 <regex>
 Nytt i C++11. Inneheld verktøy for å kjenne att mønster i strengar ved bruk av regulæruttrykk.

Lokalisering 

 <locale>
 Inneheld klassar og funksjonar for internasjonal portabilitet, til dømes for formattering og parsing av dato og tid.
 <codecvt>
 Inneheld std::codecvt, som femner konvertering av strengar mellom ulike tegnsett.

Straumar 

 <fstream>
 Klasse for å skriva eller lesa til fil.
 <iomanip>
 Inneheld verktøy for å endra formattering for eit output. Til dømes endring av presisjon for flyttal eller basen til det aktuelle talet, gjeve eit tal som output.
 <ios>
 Baseklassen for input/output-straumar og inneheld fundamentale strukturar for operasjonar knytte til straumar.
 <iosfwd>
 Inneheld deklareringar av fleire input/output-relaterte klassetemplat.
 <iostream>
 Inneheld standard input/output-straumar. 
 <istream>
 Inneheld standard input-straumar og felles input/output-straumar.
 <ostream>
 Inneheld standard output-straumar.
 <sstream>
 Inneheld straumar for strengmanipulering. 
 <streambuf>
 Inneheld funksjonalitet for skriving eller lesing til eller frå sekvensar av bokstavar (til dømes eksterne filer eller strengar).

Språkstøtte 

 <exception>
 Inneheld fleire typar og funksjonar for handsaming av exceptions, inkludert std::exception, som er baseklassen for alle exceptions utløyste av kode i standardbiblioteket. 
 <limits>
 Inneheld klassetemplaten std::numeric_limits som vert brukt for å skildra eigenskapar ved fundamentale numeriske typar. 
 <new>
 Inneheld operatorane new og delete og fleire andre funksjonar og typar for dynamisk minnehandsaming i C++.
 <typeinfo>
 Inneheld verktøy for å arbeida mot køyretidstypeinformasjon.

Trådstøttebibliotek 

 <thread>
 Nytt i C++11. Inneheld funksjonalitet for å arbeida med trådar, parallell køyring av arbeidsoppgåver i programmet.
 <mutex>
 Nytt i C++11. Inneheld funksjonalitet for gjensidig utelukking av køyrde operasjonar under kritiske delar av dei parallelle køyringane.
 <condition_variable>
 Nytt i C++11. Funksjonalitet for synkronisering av trådar. 
 <future>
 Nytt i C++11. Inneheld funksjonalitet for å henta utrekningar frå trådar.

Numerisk bibliotek 
Inneheld komponentar som C++ program kan bruka for seminumeriske operasjonar.

 <complex>
 Inneheld funksjonalitet for å manipulera komplekse tal.
 <random>
 Funksjonalitet for å generera pseudotilfeldige tal.
 <valarray>
 Inneheld fleire templat for å manipulera tabellar.
 <numeric>
 Inneheld generelle nummeriske operasjonar.

Standardbiblioteket i C 
Standardbiblioteket i C++ inneheld også standardbiblioteket i C, skildra i eigen hovudartikkel.

Kjelder 

Denne artikkelen bygger på «C++ Standard Library» frå ,  den 22. august 2020.  
 

C++