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

  1. 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 .
  2. C++ Standardbiblioteksændringer