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

ไลบรารีเทมเพลตมาตรฐาน C++ (STL)


ไลบรารีเทมเพลตมาตรฐานคือไลบรารีซอฟต์แวร์สำหรับภาษาการเขียนโปรแกรม C++ ที่ส่งผลต่อส่วนต่างๆ ของไลบรารีมาตรฐาน C++ มันมีสี่องค์ประกอบที่เรียกว่าอัลกอริธึม คอนเทนเนอร์ ฟังก์ชัน และตัววนซ้ำ โปรดทราบว่าคำว่า "STL" หรือ "ไลบรารีเทมเพลตมาตรฐาน" จะไม่ปรากฏในมาตรฐาน ISO 14882 C++ ดังนั้นการอ้างถึงไลบรารีมาตรฐาน C++ เนื่องจาก STL ไม่ถูกต้อง เช่น STL และ C++ Standard Library เป็น 2 สิ่งที่แตกต่างกันโดยที่ก่อนหน้านี้เป็นส่วนย่อยของหลัง

STL ประกอบด้วย −

คอนเทนเนอร์

STL ประกอบด้วยคอนเทนเนอร์ลำดับและคอนเทนเนอร์ที่เชื่อมโยง คอนเทนเนอร์เป็นวัตถุที่เก็บข้อมูล คอนเทนเนอร์ลำดับมาตรฐานประกอบด้วยเวกเตอร์ deque และรายการ คอนเทนเนอร์ที่เชื่อมโยงมาตรฐานถูกตั้งค่า, มัลติเซ็ต, แผนที่, มัลติแมป, hash_set, hash_map, hash_multiset และ hash_multimap นอกจากนี้ยังมีคิวอะแดปเตอร์คอนเทนเนอร์, priority_queue และสแตก ซึ่งเป็นคอนเทนเนอร์ที่มีอินเทอร์เฟซเฉพาะ โดยใช้คอนเทนเนอร์อื่นในการนำไปใช้

ตัววนซ้ำ

ตัววนซ้ำเป็นวัตถุที่ช่วยให้โปรแกรมเมอร์สามารถสำรวจคอนเทนเนอร์ได้ STL ใช้ตัววนซ้ำห้าประเภท:อินพุต (ใช้เพื่ออ่านลำดับของค่า) เอาต์พุต (ใช้เพื่อเขียนลำดับของค่า) ไปข้างหน้า (ที่สามารถอ่าน เขียนถึง และเดินหน้าได้) แบบสองทิศทาง (เช่น ไปข้างหน้า) ตัววนซ้ำ แต่สามารถย้อนกลับได้) และการเข้าถึงโดยสุ่ม (ย้ายจำนวนขั้นตอนได้อย่างอิสระในการดำเนินการเดียว) ตัววนซ้ำเป็นคุณลักษณะหลักที่ทำให้ STL มีลักษณะทั่วไปได้

อัลกอริทึม

อัลกอริทึมใน STL คือชุดของฟังก์ชันที่ออกแบบมาเป็นพิเศษเพื่อใช้กับช่วงขององค์ประกอบ ช่วงคือลำดับของอ็อบเจ็กต์ใดๆ ที่สามารถเข้าถึงได้ผ่านตัววนซ้ำหรือพอยน์เตอร์ เช่น อาร์เรย์หรืออินสแตนซ์ของคอนเทนเนอร์ STL บางตัว ตัวอย่างของอัลกอริทึมใน STL:sort (จัดเรียงองค์ประกอบในช่วง), binary_search (ทดสอบว่ามีค่าอยู่ในลำดับการเรียงลำดับหรือไม่), min_element (ส่งคืนองค์ประกอบที่เล็กที่สุดในช่วง) ฯลฯ โปรดทราบว่าอัลกอริธึมเหล่านี้สามารถนำไปใช้กับประเภทข้อมูลที่ยอมรับได้ เป็นแม่แบบ