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

; 
: Nytt i C++11. Inneheld konteinerklassetemplatet `std::array`, ein konteiner for tabellar med ein fast storleik.
; 
: Inneheld konteinerklassen`[[Bitset (C++)|std::bitset]]`, ein bittabell.
; 
: Inneheld konteinerklassetemplatet `[[Deque (C++)|std::deque]]`, ein deque (køstruktur med to endar).
; 
: Nytt i C++11. Han inneheld konteinerklassetemplatet`[[Forward list (C++)|std::forward_list]]`, ei enkelt lenka liste. 
; 
: Inneheld `[[List (C++)|std::list]]`, ei dobbeltlenka liste.
; 
: Inneheld `[[Map (C++)|std::map]]` og `std::multimap`, ein sortert assosiativ tabell og ein multimap.
; 
: Inneheld `[[Queue (C++)|std::queue]]`, ein køstruktur med ein ende, og `std::priority_queue`, ein prioritetskø.
; 
: Inneheld konteinerklassetemplata `[[Set (C++)|std::set]]` and `std::multi set`,  sorterte assosiative konteinarar og mengder.
; 
: Inneheld`[[Stack (C++)|std::stack]]`, ein stakk (LIFO).
; 
: Nytt i C++11. Inneheld konteinerklassetemplata `[[Unordered map (C++)|std::unordered_map]]` and `std::unordered_multimap`, som er hashtabellar.
; 
: Nytt i C++11. Inneheld konteinerklassetemplata`[[Unordered set (C++)|std::unordered_set]]` og `std::unordered_multiset`.
; 
: Inneheld `[[Vector (C++)|std::vector]]`, ein dynamisk tabell som kan utvidast etter behov.

### Generelt

; 
: Inneheld algoritmar stort sett for konteinarar.

; 
: Inneheld tidsstrukturar, som`std::chrono::duration`, `std::chrono::time_point`, og ymse klokker.

; 
: Inneheld klassetemplat for funksjonsobjekt. 
; 
: Inneheld klassar og templat for å arbeida med iteratorar. 

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

### Strengar

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

### Lokalisering

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

### Straumar

; 
: Klasse for å skriva eller lesa til fil.
; 
: 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.
; 
: Baseklassen for input/output-straumar og inneheld fundamentale strukturar for operasjonar knytte til straumar.
; 
: Inneheld deklareringar av fleire input/output-relaterte klassetemplat.
; 
: Inneheld standard input/output-straumar. 
; 
: Inneheld standard input-straumar og felles input/output-straumar.
; 
: Inneheld standard output-straumar.
; 
: Inneheld straumar for strengmanipulering. 
; 
: Inneheld funksjonalitet for skriving eller lesing til eller frå sekvensar av bokstavar (til dømes eksterne filer eller strengar). 

### Språkstøtte

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

### Trådstøttebibliotek

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

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

; 
: Inneheld funksjonalitet for å manipulera komplekse tal.
; 
: Funksjonalitet for å generera pseudotilfeldige tal.
; 
: Inneheld fleire templat for å manipulera tabellar.
; 
: Inneheld generelle nummeriske operasjonar.

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

## Kjelder

**Denne artikkelen bygger på «[[:en:C++ Standard Library|C++ Standard Library]]» frå ,  den 22. august 2020.*