ไลบรารีมาตรฐาน C++ ประกอบด้วยไลบรารีประเภทต่างๆ ต่อไปนี้เป็นรายการของประเภทเหล่านี้ทั้งหมดที่มีไลบรารีอยู่ภายใต้
ไลบรารียูทิลิตี้
− ยูทิลิตี้เอนกประสงค์ เช่น การควบคุมโปรแกรม การจัดสรรหน่วยความจำแบบไดนามิก ตัวเลขสุ่ม การเรียงลำดับและการค้นหา
−ฟังก์ชันและค่าคงที่มาโครสำหรับการจัดการสัญญาณ (เช่น SIGINT เป็นต้น)
−มาโคร (และฟังก์ชัน) ที่บันทึก (และข้าม) ไปยังบริบทการดำเนินการ
− การจัดการรายการอาร์กิวเมนต์ความยาวผันแปร
− ยูทิลิตี้ข้อมูลประเภทรันไทม์
− เทมเพลตคลาสของ std::bitset
<ฟังก์ชัน> − ออบเจ็กต์ฟังก์ชัน การเรียกใช้ฟังก์ชัน การดำเนินการผูกและตัวตัดข้อมูลอ้างอิง
− ส่วนประกอบยูทิลิตี้ต่างๆ
− ยูทิลิตี้เวลา/วันที่แบบ C
− มาโครมาตรฐานและ typedefs
(ตั้งแต่ C++11) − Wrapper รอบวัตถุ type_info ที่สามารถใช้เป็นดัชนีในคอนเทนเนอร์ที่เชื่อมโยงและไม่เรียงลำดับ
(ตั้งแต่ C++11) − ข้อมูลประเภทเวลาคอมไพล์
(ตั้งแต่ C++11) − ยูทิลิตี้เวลา C++
(ตั้งแต่ C++11) −Library กำหนดวัตถุพร็อกซีน้ำหนักเบาที่ให้การเข้าถึงอาร์เรย์ของวัตถุประเภท const T
(ตั้งแต่ C++11) − Library กำหนดคอลเล็กชั่นขนาดคงที่ของค่าที่แตกต่างกัน เป็นลักษณะทั่วไปของ std::pair
(ตั้งแต่ C++17) − คลาส any อธิบายคอนเทนเนอร์แบบปลอดภัยสำหรับค่าเดี่ยวทุกประเภท
<ตัวเลือก> (ตั้งแต่ C++17) − เทมเพลตคลาส std::optional จะจัดการค่าทางเลือกที่มีอยู่ เช่น ค่าที่อาจมีหรือไม่มีก็ได้
(ตั้งแต่ C++17) −เทมเพลตคลาส std::variant แสดงถึงยูเนียนที่ปลอดภัยต่อประเภท อินสแตนซ์ของ std::ตัวแปร ณ เวลาใดก็ตามอาจมีค่าของประเภททางเลือกอย่างใดอย่างหนึ่งหรือในกรณีที่มีข้อผิดพลาด - ไม่มีค่า
(ตั้งแต่ C++20) − อนุญาตการรองรับตัวดำเนินการเปรียบเทียบแบบสามทาง
การจัดการหน่วยความจำแบบไดนามิก
<ใหม่> − ยูทิลิตี้การจัดการหน่วยความจำระดับต่ำ นิพจน์ใหม่เป็นวิธีเดียวในการสร้างออบเจ็กต์หรืออาร์เรย์ของออบเจ็กต์ที่มีระยะเวลาการจัดเก็บแบบไดนามิก กล่าวคือ โดยไม่จำกัดอายุใช้งานตามขอบเขตที่สร้างขึ้น
− ยูทิลิตี้การจัดการหน่วยความจำระดับสูง
(ตั้งแต่ C++11) เทมเพลตคลาส std::scoped_allocator_adaptor เป็นตัวจัดสรรที่สามารถใช้กับคอนเทนเนอร์หลายระดับได้ (เวกเตอร์ของชุดของรายการ tuples ของแผนที่ ฯลฯ)
(ตั้งแต่ C++17) −คลาส std::pmr::memory_resource เป็นอินเทอร์เฟซแบบนามธรรมสำหรับชุดคลาสที่ไม่จำกัดซึ่งห่อหุ้มทรัพยากรหน่วยความจำ
ขีดจำกัดตัวเลข
−ขีดจำกัดของประเภทอินทิกรัล
− ขีดจำกัดของประเภทโฟลต
<ขีดจำกัด> −วิธีมาตรฐานในการสืบค้นคุณสมบัติของประเภทเลขคณิต
(ตั้งแต่ C++11) − ประเภทขนาดคงที่และขีดจำกัดของประเภทอื่น
(ตั้งแต่ C++11) − ให้การแปลงจาก C ไบต์และสตริงแบบกว้างเป็น std::intmax_t และ std::uintmax_t โอเวอร์โหลดฟังก์ชันทางคณิตศาสตร์บางอย่างสำหรับ std::intmax_t และจัดเตรียมมาโครรูปแบบอินพุต/เอาต์พุตสไตล์ C สำหรับประเภทที่ประกาศใน
ข้อผิดพลาดในการจัดการ
<ข้อยกเว้น> − ยูทิลิตี้การจัดการข้อยกเว้น
−อ็อบเจ็กต์ข้อยกเว้นมาตรฐาน
−มาโครที่คอมไพล์ตามเงื่อนไขที่เปรียบเทียบอาร์กิวเมนต์ของมันกับศูนย์
−มาโครที่มีหมายเลขข้อผิดพลาดล่าสุด
(ตั้งแต่ C++11) −std::error_code เป็นรหัสข้อผิดพลาดที่ขึ้นกับแพลตฟอร์ม แต่ละอ็อบเจ็กต์ std::error_code มีรหัสข้อผิดพลาดที่มาจากระบบปฏิบัติการหรืออินเทอร์เฟซระดับต่ำบางส่วน และตัวชี้ไปยังอ็อบเจ็กต์ประเภท std::error_category ซึ่งสอดคล้องกับอินเทอร์เฟซดังกล่าว
ไลบรารีสตริง
− ฟังก์ชั่นกำหนดประเภทที่มีอยู่ในข้อมูลตัวละคร
− ฟังก์ชันสำหรับกำหนดประเภทที่มีอยู่ในข้อมูลอักขระแบบกว้าง
−ฟังก์ชันการจัดการสตริงอักขระแคบต่างๆ
−ฟังก์ชันการจัดการสตริงแบบกว้างและแบบหลายไบต์ที่หลากหลาย
−std::basic_string เทมเพลตคลาส
(ตั้งแต่ C++11) − ฟังก์ชันการแปลงอักขระ Unicode สไตล์ C
(ตั้งแต่ C++17) − เทมเพลตคลาส basic_string_view อธิบายอ็อบเจ็กต์ที่สามารถอ้างถึงลำดับต่อเนื่องของออบเจกต์คล้ายถ่านที่มีองค์ประกอบแรกของลำดับที่ตำแหน่งศูนย์
ไลบรารีคอนเทนเนอร์
(ตั้งแต่ C++11) − std::array คอนเทนเนอร์
− std::vector คอนเทนเนอร์
− std::deque คอนเทนเนอร์
− std::list คอนเทนเนอร์
(ตั้งแต่ C++11) − std::forward_list คอนเทนเนอร์
− std::set และ std::คอนเทนเนอร์เชื่อมโยงหลายชุด
− std::map และ std::multimap associative container
(ตั้งแต่ C++11) − std::unordered_set และ std::unordered_multiset คอนเทนเนอร์ที่เชื่อมโยงแบบไม่เรียงลำดับ
(ตั้งแต่ C++11) − std::unordered_map และ std::unordered_multimap คอนเทนเนอร์ที่เชื่อมโยงแบบไม่เรียงลำดับ
− std::stack คอนเทนเนอร์อะแด็ปเตอร์
− std::queue และ std::priority_queue คอนเทนเนอร์อะแด็ปเตอร์
ไลบรารีอัลกอริทึม
<อัลกอริธึม> − ประกอบด้วยอัลกอริธึมที่ทำงานบนคอนเทนเนอร์
(C++17) −นโยบายการดำเนินการที่กำหนดไว้ล่วงหน้าสำหรับอัลกอริธึมเวอร์ชันคู่ขนาน
ไลบรารีตัววนซ้ำ
− ตัววนซ้ำสำหรับคอนเทนเนอร์
คลังตัวเลข
− ฟังก์ชันคณิตศาสตร์ทั่วไป
− ประเภทจำนวนเชิงซ้อน
− คลาสสำหรับแสดงและจัดการอาร์เรย์ของค่า
(ตั้งแต่ C++11) − ตัวสร้างและแจกแจงตัวเลขสุ่ม
<ตัวเลข> − ตัวเลขกับค่าในคอนเทนเนอร์
<อัตราส่วน> (ตั้งแต่ C++11) −คอมไพล์-ไทม์ อาร์ทเมติก
(ตั้งแต่ C++11) − ฟังก์ชันการเข้าถึงสภาพแวดล้อมจุดลอยตัว
ไลบรารีอินพุต/เอาต์พุต
- ส่งต่อการประกาศของคลาสทั้งหมดในไลบรารีอินพุต/เอาต์พุต
− std::ios_base class, std::basic_ios class template และ typedefs อีกหลายชนิด
− std::basic_istream class template และ typedefs หลายตัว
− std::basic_ostream, std::basic_iostream เทมเพลตคลาสและ typedefs หลายประเภท
- ออบเจ็กต์สตรีมมาตรฐานหลายรายการ
− std::basic_fstream, std::basic_ifstream, std::basic_ofstream เทมเพลตคลาสและ typedefs หลายประเภท
− std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream เทมเพลตคลาสและ typedefs หลายตัว
(ตั้งแต่ C++20) − std::basic_osyncstream, std::basic_syncbuf และ typedefs
(เลิกใช้แล้ว) − std::strstream, std::istrstream, std::ostrstream
− ฟังก์ชันตัวช่วยควบคุมรูปแบบหรืออินพุตและเอาต์พุต
− std::basic_streambuf เทมเพลตคลาส
− ฟังก์ชันอินพุต-เอาต์พุตสไตล์ C
ไลบรารีการแปลเป็นภาษาท้องถิ่น
− ยูทิลิตี้การแปลเป็นภาษาท้องถิ่น
− C ยูทิลิตี้การแปลเป็นภาษาท้องถิ่น
(ตั้งแต่ C++11) (เลิกใช้งานใน C++17) − สิ่งอำนวยความสะดวกการแปลง Unicode
ไลบรารีนิพจน์ทั่วไป
(ตั้งแต่ C++11) − คลาส อัลกอริธึม และตัววนซ้ำเพื่อรองรับการประมวลผลนิพจน์ทั่วไป
ห้องสมุดปฏิบัติการปรมาณู
(ตั้งแต่ C++11) − ห้องสมุดปฏิบัติการปรมาณู
ห้องสมุดสนับสนุนเธรด
(ตั้งแต่ C++11) − std::thread class และฟังก์ชันที่รองรับ
(ตั้งแต่ C++11) − พื้นฐานการยกเว้นร่วมกัน
(ตั้งแต่ C++14) − พื้นฐานการยกเว้นร่วมกันที่ใช้ร่วมกัน
(ตั้งแต่ C++11) −primitives สำหรับการคำนวณแบบอะซิงโครนัส
(ตั้งแต่ C++11) − เงื่อนไขการรอเธรด
ไลบรารีระบบไฟล์
<ระบบไฟล์> (ตั้งแต่ C++17) − std::path class และฟังก์ชันที่รองรับ