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

  1. 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 .
  2. C++ szabványos könyvtári változások