Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ไฟล์ส่วนหัวของไลบรารีมาตรฐาน C++


ไลบรารีมาตรฐาน 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 และฟังก์ชันที่รองรับ