Ugrás a tartalomhoz

C++ Standard Library headers

A Wikiszótárból, a nyitott szótárból


Főnév

C++ Standard Library headers (tsz. C++ Standard Library headerses)

  1. (informatika) A C++ Standard Library (STL) a C++ nyelv egyik legfontosabb része, amely számos hasznos eszközt biztosít a programozók számára, például konténereket, algoritmusokat, adatstruktúrákat, bemenet-kimeneti (I/O) funkciókat, memóriakezelést és sok mást. Ezeket a funkcionalitásokat különböző fejlécfájlokban (headers) valósítják meg, amelyeket a programok elején #include direktívával lehet beilleszteni.

Fontosabb C++ Standard Library fejlécfájlok és funkcióik

1. Alapvető be- és kimeneti műveletek

  • <iostream> – A konzolos be- és kimenetet biztosítja (std::cin, std::cout, std::cerr, std::endl stb.).
  • <iomanip> – Formázott kiíráshoz szükséges (std::setw, std::setprecision, std::fixed, stb.).
  • <fstream> – Fájlkezelés (std::ifstream, std::ofstream, std::fstream).
  • <sstream> – String alapú adatfolyamok (std::stringstream, std::istringstream, std::ostringstream).

2. Adatszerkezetek és konténerek

  • <vector> – Dinamikus tömb, amely automatikusan kezeli a méretét (std::vector).
  • <array> – Fix méretű tömb (std::array).
  • <list> – Kétirányú láncolt lista (std::list).
  • <forward_list> – Egyirányú láncolt lista (std::forward_list).
  • <deque> – Két végéről hatékonyan módosítható tömb (std::deque).
  • <stack> – LIFO (Last-In-First-Out) adatstruktúra (std::stack).
  • <queue> – FIFO (First-In-First-Out) sor (std::queue).
  • <priority_queue> – Prioritási sor (std::priority_queue).
  • <set> – Egyedi elemek rendezetten tárolása (std::set, std::multiset).
  • <map> – Kulcs-érték párokat tároló asszociatív konténer (std::map, std::multimap).
  • <unordered_set> – Egyedi elemek rendezetlen tárolása (std::unordered_set, std::unordered_multiset).
  • <unordered_map> – Kulcs-érték párokat tároló, hash alapú konténer (std::unordered_map, std::unordered_multimap).

3. Algoritmusok és segédfüggvények

  • <algorithm> – Különböző algoritmusok, például keresés (std::find), rendezés (std::sort), másolás (std::copy), átalakítás (std::transform), halmazműveletek (std::set_union).
  • <numeric> – Numerikus műveletek (std::accumulate, std::partial_sum, std::inner_product).
  • <functional> – Függvényobjektumok (std::function, std::bind, std::mem_fn).
  • <iterator> – Iterátorok és segédfüggvényeik (std::begin, std::end, std::advance).

4. Karakterláncok és reguláris kifejezések

  • <string> – Karakterlánc kezelés (std::string, std::wstring).
  • <cstring> – C stílusú string műveletek (std::strlen, std::strcpy, std::strcmp).
  • <regex> – Reguláris kifejezések (std::regex, std::smatch, std::regex_match, std::regex_replace).

5. Többszálúság és párhuzamos programozás

  • <thread> – Szálkezelés (std::thread, std::this_thread).
  • <mutex> – Szinronizáció (std::mutex, std::lock_guard, std::unique_lock).
  • <future> – Aszinkron számítások (std::future, std::promise, std::async).
  • <condition_variable> – Szálak közötti kommunikáció (std::condition_variable).

6. Időkezelés

  • <chrono> – Idővel kapcsolatos műveletek (std::chrono::duration, std::chrono::steady_clock).
  • <ctime> – Dátum- és időkezelés (std::time, std::localtime, std::strftime).

7. Memóriakezelés

  • <memory> – Okos mutatók (std::unique_ptr, std::shared_ptr, std::weak_ptr).
  • <new> – Memóriafoglalási és felszabadítási műveletek (std::nothrow, std::bad_alloc).

8. Kivételek és hibaelhárítás

  • <exception> – Alapvető kivételek (std::exception, std::runtime_error, std::logic_error).
  • <stdexcept> – Gyakori kivételosztályok (std::invalid_argument, std::out_of_range).
  • <cassert> – Hibakeresési makró (assert).

9. Matematikai és statisztikai műveletek

  • <cmath> – Matematikai függvények (std::sqrt, std::pow, std::sin, std::cos).
  • <cstdlib> – Általános segédfüggvények (std::rand, std::atoi, std::exit).
  • <random> – Véletlenszám-generálás (std::mt19937, std::uniform_int_distribution).

10. Segédfájlok és egyéb eszközök

  • <type_traits> – Típusjellemzők (std::is_integral, std::is_pointer).
  • <limits> – Típusok határértékei (std::numeric_limits<int>::max()).
  • <tuple> – Többértékű változók (std::tuple, std::get).
  • <variant> – Típusbiztos változó (std::variant).
  • <any> – Tetszőleges típus tárolása (std::any).
  • <optional> – Opcionális érték (std::optional).
  • <bitset> – Bitműveletek (std::bitset).

Összegzés

A C++ Standard Library hatékony és jól optimalizált eszközöket biztosít a modern programozáshoz. A fejlécfájlok és azok osztályai, algoritmusai jelentősen megkönnyítik a fejlesztést, mivel számos alapvető és haladó funkciót biztosítanak anélkül, hogy azokat a programozónak nulláról kellene implementálnia.