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 konteinerklassen
std::bitset
, ein bittabell. - <deque>
- Inneheld konteinerklassetemplatet
std::deque
, ein deque (køstruktur med to endar). - <forward_list>
- Nytt i C++11. Han inneheld konteinerklassetemplatet
std::forward_list
, ei enkelt lenka liste. - <list>
- Inneheld
std::list
, ei dobbeltlenka liste. - <map>
- Inneheld
std::map
ogstd::multimap
, ein sortert assosiativ tabell og ein multimap. - <queue>
- Inneheld
std::queue
, ein køstruktur med ein ende, ogstd::priority_queue
, ein prioritetskø. - <set>
- Inneheld konteinerklassetemplata
std::set
andstd::multi set
, sorterte assosiative konteinarar og mengder. - <stack>
- Inneheld
std::stack
, ein stakk (LIFO). - <unordered_map>
- Nytt i C++11. Inneheld konteinerklassetemplata
std::unordered_map
andstd::unordered_multimap
, som er hashtabellar. - <unordered_set>
- Nytt i C++11. Inneheld konteinerklassetemplata
std::unordered_set
ogstd::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, som
std::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
ogstd::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
ogdelete
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
- Denne artikkelen bygger på «C++ Standard Library» frå Wikipedia på engelsk, den 22. august 2020.