C++ standardbibliotek

I programmeringsspråket C++ betyder termen Standardbibliotek en samling klasser och funktioner skrivna på basspråket . Standardbiblioteket stöder flera huvudbehållare, funktioner för att arbeta med dessa behållare, funktionsobjekt, grundläggande typer av strängar och strömmar (inklusive interaktiva och fil-I/O), stöd för vissa språkfunktioner och vanliga funktioner för att utföra uppgifter som , hitta kvadratroten ur ett tal. C++ Standard Library inkluderar även ISO C90 C Standard Library specifikationer . Funktionaliteten för standardbiblioteket deklareras inom std- namnområdet .

Standard Template Library (STL) är en delmängd av C++ Standard Library och innehåller behållare, algoritmer, iteratorer, funktionsobjekt, etc. [1] även om vissa programmerare använder termen "STL" i kombination med (eller utbytbart med) termen "C++ Standardbibliotek" ".

C++ Standard Library-huvudfiler har inte tillägget ".h".

C++ Standard Library innehåller de senaste ANSI C++-tilläggen (inklusive Standard Template Library och det nya iostream-biblioteket). Det är en uppsättning header-filer. De nya rubrikfilerna saknar tillägget H. [2]

Standardhuvudfiler

Följande filer innehåller deklarationer från Standardbiblioteket.

Behållare

<bitset> Implementerar en specialiserad containerklass std::bitset , bitmappen . <deque> Implementerar containerklassmallen std::deque , dubbelt länkad kö . <lista> Implementerar containerklassmallen std::list , dubbellänkad lista . <karta> Implementerar containerklassmallar std::map och std::multimap- Associative Array och Multimapping . <kö> Implementerar containeradapterklassen , std::queue en enkelriktad . <set> Implementerar containerklassmallar std::setoch std::multiset sorterade associativa behållare eller uppsättningar . <stack> Implementerar adapter-container-klassen std::stack , stacken . <vektor> Implementerar containerklassmallen std::vector , den dynamiska arrayen .

Allmänt

<algoritm> Implementerar definitionerna av många algoritmer för att arbeta med behållare. <funktionell> Implementerar flera funktionsobjekt utformade för att fungera med standardalgoritmer. <iterator> Implementerar klasser och mallar för att arbeta med iteratorer . <lokal> Implementerar klasser och mallar för att arbeta med lokaler . <minne> Implementerar C++ minneshanteringsverktygstd::auto_ptr , inklusive . <stdexcept> Innehåller standardfelhantering av klasser som std::logic_erroroch std::runtime_error, som båda härrör från std::exception. <verktyg> Implementerar en klassmall std::pairför att arbeta med par ( tvåledade tuplar ) av objekt.

Strängar

<sträng> Implementerar standard strängklasser och mallar.

<regex>

Nytt i C++11 . Tillhandahåller verktyg för mönstermatchning av strängar med reguljära uttryck .

Streaming och I/O

<fstream> Implementerar verktyg för filinmatning och -utdata. Se fstream . <ios> Implementerar flera typer och funktioner som ligger till grund för operationer med iostreams. <iostream> Implementerar den grundläggande inmatningen och utmatningen av C++-språket. Se iostream . <iosfwd> Implementerar vidaredeklarationer för flera I/O-relaterade klassmallar. <iomanip> Implementerar verktyg för att arbeta med utdataformatering, som bas , som används vid formatering av heltal och exakta värden för flyttal . <istream> Implementerar klassmallen std::istreamoch andra obligatoriska inmatningsklasser. <ström> Implementerar klassmallen std::ostreamoch andra obligatoriska klasser för utdata. <ström> Implementerar en klassmall std::sstreamoch andra nödvändiga klasser för att arbeta med strängar. <streambuf>

Numerisk

<komplex> Implementerar klassmallen std::complexoch relaterade funktioner för att arbeta med komplexa tal . <numerisk> Implementerar algoritmer för numerisk bearbetning <valarray> Implementerar en klassmall , en std::valarray arrayklass som är optimerad för numerisk bearbetning.

Språkstöd

<undantag> Implementerar flera typer och funktioner relaterade till undantagshantering , inklusive std::exception basklassen för all undantagshantering i standardbiblioteket. <gränser> implementerar klassmallen std::numeric_limitssom används för att beskriva egenskaperna hos grundläggande numeriska typer. <ny> newImplementerar och operatörerna delete, samt andra funktioner och typer som ligger till grund för minneshantering i C++. <typinfo> Implementerar verktyg för att arbeta med dynamisk datatypsidentifiering i C++.

C Standardbibliotek

Varje rubrikfil från C-standardbiblioteket ingår i C++-standardbiblioteket under olika namn skapade genom att klippa av .h-tillägget och lägga till 'c' i början, till exempel 'time.h' blev 'ctime'. Den enda skillnaden mellan dessa header-filer och de traditionella C-standardbibliotekets header-filer är att funktionerna måste placeras i std::-namnområdet (även om vissa kompilatorer gör detta själva). I ISO C-standarden tillåts standardbiblioteksfunktioner implementeras av makron , som inte är tillåtna i ISO C++.

Se även

Litteratur

Länkar

Anteckningar

  1. Holzner, Steven. C++: Black Book. — Scottsdale, Ariz. : Coriolis Group, 2001. - S. 648. - "STL består av behållare , iteratorer , funktionsobjekt och algoritmer ". — ISBN 1-57610-777-9 .
  2. C++ Standardbiblioteksändringar