C++ szabványos könyvtár
A C++ programozási nyelvben a Standard Library kifejezés az alapnyelven írt osztályok és függvények gyűjteményét jelenti . A Standard Library számos fő tárolót, funkciót támogat ezekkel a tárolókkal, függvényobjektumokkal, karakterláncok és adatfolyamok alapvető típusaival (beleértve az interaktív és fájl I/O-t), egyes nyelvi jellemzők támogatását, valamint általánosan használt funkciókat olyan feladatok végrehajtásához, mint pl. egy szám négyzetgyökének megtalálása . A C++ Standard Library tartalmazza az ISO C90 C szabványkönyvtár specifikációit is . A Standard Library funkcionalitása az std névtérben van deklarálva .
A Standard Template Library (STL) a C++ Standard Library részhalmaza, és konténereket, algoritmusokat, iterátorokat, függvényobjektumokat stb. tartalmaz. [1] bár egyes programozók az "STL" kifejezést a kifejezéssel együtt (vagy azzal felcserélhetően) használják. "C++ Standard Library" ".
A C++ Standard Library fejlécfájlok nem rendelkeznek ".h" kiterjesztéssel.
A C++ Standard Library tartalmazza a legújabb ANSI C++ kiterjesztéseket (beleértve a Standard Template Library-t és az új iostream könyvtárat). Ez a fejlécfájlok halmaza. Az új fejlécfájlokból hiányzik a H kiterjesztése. [2]
Szabványos fejlécfájlok
A következő fájlok a Standard Library deklarációit tartalmazzák.
Konténerek
<bitkészlet>
Egy speciális konténerosztályt valósít meg std::bitset , a
bittérképet .
<deque>
Megvalósítja a konténerosztály sablonját std::deque ,
duplán linkelt várólista .
<lista>
Megvalósítja a konténerosztály sablonját std::list ,
duplán linkelt listát .
<térkép>
Konténerosztály-sablonokat std::map és std::multimap-
Associative Array és Multimapping valósít meg .
<sor>
Megvalósítja a konténer-adapter osztályt , egy std::queue egyirányú
várakozási sort .
<beállítás>
Konténerosztály-sablonokat std::setés std::multiset rendezett asszociatív tárolókat vagy
készleteket valósít meg .
<verem>
Az adapter-container osztályt valósítja std::stack meg, a
verem .
<vektor>
Megvalósítja a konténerosztály sablonját
std::vector , a
dinamikus tömböt .
Általános
<algoritmus>
Számos
algoritmus definícióját valósítja meg a tárolókkal való munkavégzéshez.
<funkcionális>
Számos függvényobjektumot valósít meg, amelyek szabványos algoritmusokkal működnek.
<iterátor>
Osztályokat és sablonokat valósít meg az
iterátorokkal való munkavégzéshez .
<locale>
Osztályokat és sablonokat valósít meg a
területi beállításokkal való munkavégzéshez .
<memória>
Megvalósítja a C++
memóriakezelőstd::auto_ptr eszközöket, beleértve a .
<stdexcept>
Tartalmazza az olyan osztályok szabványos hibakezelését, mint a std::logic_errorés std::runtime_error, mindkettő a -ból származik std::exception.
<segédprogram>
Osztálysablont valósít meg az objektumpárokkal std::pair(kéttagú
sorokkal ) való munkavégzéshez.
Strings
<karakterlánc>
Szabványos karakterlánc -osztályokat és sablonokat valósít meg.
<regex>
Új a
C++11 -ben . Segédprogramokat biztosít a mintaillesztéshez
reguláris kifejezések használatával .
Streaming és I/O
<fstream>
Fájlbeviteli és -kiadási eszközöket valósít meg. Lásd
fstream .
<ios>
Számos típust és függvényt valósít meg, amelyek az iostreamekkel végzett műveletek alapját képezik.
<iostream>
Megvalósítja a C++ nyelv alapvető be- és kimenetét. Lásd
iostream .
<iosfwd>
Előre irányuló deklarációkat valósít meg több I/O-hoz kapcsolódó osztálysablonhoz.
<iomanip>
Eszközöket valósít meg a kimeneti formázással való munkavégzéshez, például a base , amelyet egész számok és
lebegőpontos számok pontos értékeinek formázásakor használnak .
<istream>
Megvalósítja az osztálysablont std::istreamés a többi szükséges bemeneti osztályt.
<folyam>
Megvalósítja az osztálysablont std::ostreamés a többi szükséges osztályt a kimenethez.
<folyam>
Osztálysablont std::sstreamés egyéb szükséges osztályokat valósít meg a karakterláncokkal való munkához.
<streambuf>
Numerikus
<komplex>
Megvalósítja az osztálysablont std::complexés a kapcsolódó függvényeket a
komplex számokkal való munkavégzéshez .
<numerikus>
Algoritmusokat valósít meg a numerikus feldolgozáshoz
<valarray>
Osztálysablont valósít meg, egy tömbosztályt , std::valarray amely numerikus feldolgozásra van optimalizálva.
Nyelvi támogatás
<kivétel>
Számos kivételkezeléssel kapcsolatos típust és funkciót valósít meg , beleértve std::exception a Standard Library összes kivételkezelésének alaposztályát.
<korlátok>
std::numeric_limitsaz alapvető numerikus típusok tulajdonságainak leírására használt osztálysablont valósítja meg .
<új>
newMegvalósítja a és operátorokat
delete, valamint egyéb funkciókat és típusokat, amelyek a C++
memóriakezelés alapját képezik .
<typeinfo>
Eszközöket valósít meg a
dinamikus adattípus-azonosításhoz C++ nyelven.
C Standard Library
A C szabványos könyvtár minden fejlécfájlja bekerül a C++ szabványos könyvtárba különböző neveken, amelyeket úgy hoztak létre, hogy levágják a .h kiterjesztést, és az elejére "c"-t adtak, például a "time.h"-ből "ctime" lett. Az egyetlen különbség ezen fejlécfájlok és a hagyományos C szabványos könyvtári fejlécfájlok között az, hogy a függvényeket az std:: névtérben kell elhelyezni (bár egyes fordítók ezt maguk is megteszik). Az ISO C szabványban a szabványos könyvtári funkciók makrók segítségével valósíthatók meg , amelyek az ISO C++-ban nem engedélyezettek.
Lásd még
Irodalom
Linkek
Jegyzetek
- ↑ Holzner, Steven. C++: Fekete könyv. – Scottsdale, Ariz. : Coriolis Group, 2001. - P. 648. - „Az STL konténerekből , iterátorokból , függvényobjektumokból és algoritmusokból áll . — ISBN 1-57610-777-9 .
- ↑ C++ szabványos könyvtári változások