C++ standardbibliotek
I C++ programmeringssproget betyder udtrykket Standard Library en samling af klasser og funktioner skrevet på basissproget . Standardbiblioteket understøtter flere hovedbeholdere, funktioner til at arbejde med disse beholdere, funktionsobjekter, grundlæggende typer strenge og strømme (inklusive interaktive og fil-I/O), understøttelse af nogle sprogfunktioner og almindeligt anvendte funktioner til udførelse af opgaver som f.eks. at finde kvadratroden af et tal. C++ Standard Library inkluderer også ISO C90 C Standard Library specifikationer . Funktionaliteten af standardbiblioteket er deklareret i std- navneområdet .
Standard Template Library (STL) er en delmængde af C++ Standard Library og indeholder containere, algoritmer, iteratorer, funktionsobjekter osv. [1] selvom nogle programmører bruger udtrykket "STL" i forbindelse med (eller i flæng med) udtrykket "C++ Standardbibliotek" ".
C++ Standard Library-headerfiler har ikke filtypenavnet ".h".
C++ Standard Library indeholder de nyeste ANSI C++ udvidelser (inklusive Standard Template Library og det nye iostream bibliotek). Det er et sæt header-filer. De nye header-filer mangler H-udvidelsen. [2]
Standard header-filer
Følgende filer indeholder erklæringer fra Standardbiblioteket.
Containere
<bitsæt>
Implementerer en specialiseret containerklasse std::bitset ,
bitmap .
<deque>
Implementerer containerklasseskabelonen std::deque ,
dobbelt linket kø .
<liste>
Implementerer containerklasseskabelonen std::list ,
dobbelt linket liste .
<kort>
Implementerer containerklasseskabeloner std::map og std::multimap-
Associative Array og Multimapping .
<kø>
Implementerer container-adapter-klassen , std::queue en
envejskø .
<sæt>
Implementerer containerklasseskabeloner std::setog std::multiset sorterede associative containere eller
sæt .
<stak>
Implementerer adapter-container-klassen std::stack ,
stakken .
<vektor>
Implementerer containerklasseskabelonen
std::vector , det
dynamiske array .
Generelt
<algoritme>
Implementerer definitionerne af mange
algoritmer til at arbejde med containere.
<funktionel>
Implementerer flere funktionsobjekter designet til at arbejde med standardalgoritmer.
<iterator>
Implementerer klasser og skabeloner til at arbejde med
iteratorer .
<lokal>
Implementerer klasser og skabeloner til at arbejde med
lokaliteter .
<hukommelse>
Implementerer C++
hukommelseshåndteringsværktøjerstd::auto_ptr , herunder .
<stdexcept>
Indeholder standard fejlhåndtering af klasser som std::logic_errorog std::runtime_error, som begge er afledt af std::exception.
<hjælpeprogram>
Implementerer en klasseskabelon std::pairtil at arbejde med par (to-
leddet tupler ) af objekter.
Strings
<streng>
Implementerer standard strengklasser og skabeloner.
<regex>
Ny i
C++11 . Giver værktøjer til mønstermatchende strenge ved hjælp af
regulære udtryk .
Streaming og I/O
<fstream>
Implementerer værktøjer til filinput og -output. Se
fstream .
<ios>
Implementerer flere typer og funktioner, der danner grundlag for operationer med iostreams.
<iostream>
Implementerer den grundlæggende input og output af C++ sproget. Se
iostream .
<iosfwd>
Implementerer
fremsendelseserklæringer for flere I/O-relaterede klasseskabeloner.
<iomanip>
Implementerer værktøjer til at arbejde med outputformatering, såsom base , der bruges ved formatering af heltal og nøjagtige værdier
af flydende kommatal .
<istream>
Implementerer klasseskabelonen std::istreamog andre nødvendige inputklasser.
<stream>
Implementerer klasseskabelonen std::ostreamog andre påkrævede klasser til output.
<stream>
Implementerer en klasseskabelon std::sstreamog andre nødvendige klasser til at arbejde med strenge.
<streambuf>
Numerisk
<kompleks>
Implementerer klasseskabelonen std::complexog relaterede funktioner til at arbejde med
komplekse tal .
<numerisk>
Implementerer algoritmer til numerisk behandling
<valarray>
Implementerer en klasseskabelon , en
arraystd::valarray -klasse , der er optimeret til numerisk behandling.
Sprogstøtte
<undtagelse>
Implementerer flere typer og funktioner relateret til
undtagelseshåndtering , inklusive std::exception basisklassen for al undtagelseshåndtering i Standardbiblioteket.
<grænser>
implementerer den klasseskabelon, std::numeric_limitsder bruges til at beskrive egenskaberne af grundlæggende numeriske typer.
<ny>
newImplementerer og operatørerne
delete, samt andre funktioner og typer, der danner grundlag
for hukommelseshåndtering i C++.
<typeinfo>
Implementerer værktøjer til at arbejde med
dynamisk datatypeidentifikation i C++.
C Standardbibliotek
Hver header-fil fra C-standardbiblioteket er inkluderet i C++-standardbiblioteket under forskellige navne, der er oprettet ved at afskære .h-udvidelsen og tilføje 'c' i begyndelsen, for eksempel blev 'time.h' til 'ctime'. Den eneste forskel mellem disse header-filer og de traditionelle C standard biblioteks header-filer er, at funktionerne skal placeres i std:: navneområdet (selvom nogle compilere gør dette selv). I ISO C-standarden tillades standardbiblioteksfunktioner at blive implementeret af makroer , som ikke er tilladt i ISO C++.
Se også
Litteratur
Links
Noter
- ↑ Holzner, Steven. C++: Sort bog. — Scottsdale, Ariz. : Coriolis Group, 2001. - S. 648. - "STL'en består af containere , iteratorer , funktionsobjekter og algoritmer ". — ISBN 1-57610-777-9 .
- ↑ C++ Standardbiblioteksændringer