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 endre

Konteinarar endre

<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 endre

<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 endre

<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 endre

<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 endre

<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 endre

<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 endre

<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 endre

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 endre

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

Kjelder endre