ดู STL ที่มีประสิทธิภาพโดย Scott Meyers มันเป็นการดีที่จะอธิบายวิธีการใช้ STL
หากคุณต้องการจัดเก็บจำนวนวัตถุที่กำหนด / ไม่ได้ตั้งใจและคุณจะไม่ลบวัตถุใด ๆ จากนั้นเวกเตอร์ก็เป็นสิ่งที่คุณต้องการ มันคือการแทนที่ค่าเริ่มต้นสำหรับอาร์เรย์ C และใช้งานได้เหมือนกัน แต่ไม่ล้น คุณสามารถตั้งค่าขนาดไว้ล่วงหน้าพร้อมกับการสำรอง ()
หากคุณต้องการจัดเก็บจำนวนวัตถุที่ไม่ได้ระบุ แต่คุณจะเพิ่มและลบวัตถุเหล่านั้นคุณอาจต้องการรายการ ... เนื่องจากคุณสามารถลบองค์ประกอบโดยไม่ย้ายองค์ประกอบต่อไปนี้ - ซึ่งแตกต่างจากเวกเตอร์ แม้ว่าจะใช้หน่วยความจำมากกว่าเวกเตอร์และคุณไม่สามารถเข้าถึงองค์ประกอบตามลำดับ
หากคุณต้องการรวบรวมองค์ประกอบและค้นหาเฉพาะค่าที่เป็นเอกลักษณ์ขององค์ประกอบเหล่านั้นการอ่านทั้งหมดลงในชุดจะทำและจะจัดเรียงให้คุณเช่นกัน
หากคุณมีคู่ของคีย์ - ค่าจำนวนมากและคุณต้องการเรียงลำดับตามคีย์ดังนั้นแผนที่จะมีประโยชน์ ... แต่จะเก็บค่าหนึ่งค่าต่อคีย์เท่านั้น หากคุณต้องการมากกว่าหนึ่งค่าต่อหนึ่งคีย์คุณสามารถมีเวกเตอร์ / รายการเป็นค่าของคุณในแผนที่หรือใช้ Multimap
มันไม่ได้อยู่ใน STL แต่อยู่ในการอัปเดต TR1 เป็น STL: ถ้าคุณมีคู่ของคีย์ - ค่าจำนวนมากที่คุณจะต้องค้นหาด้วยคีย์และคุณไม่สนใจคำสั่งของพวกเขาคุณอาจ ต้องการใช้แฮ - ซึ่งเป็น tr1 :: unordered_map ฉันใช้กับ Visual C ++ 7.1 ซึ่งเรียกว่า stdext :: hash_map มันมีการค้นหา O (1) แทนการค้นหา O (log n) สำหรับแผนที่