Vector iterator เป็นโครงสร้างภาษาคอมพิวเตอร์ที่อนุญาตให้โปรแกรมอ่านค่าข้อมูลที่มีอยู่ในคอลเลกชันพิเศษที่เรียกว่าเวกเตอร์ เวกเตอร์เป็นวัตถุที่ใช้ในการจัดกลุ่มค่าข้อมูลที่เกี่ยวข้องคล้ายกับอาร์เรย์และรายการ ภาษาคอมพิวเตอร์ที่แตกต่างกันจำนวนมากโดยเฉพาะอย่างยิ่ง Java และ C ++ มีเวกเตอร์และตัววนซ้ำที่เกี่ยวข้อง แต่ละภาษาใช้ไวยากรณ์ที่แตกต่างกันสำหรับตัววนซ้ำ แต่กลไกพื้นฐานในทุกภาษาคือการเข้าถึงเฉพาะสมาชิกแต่ละคนที่เป็นไปได้ของกลุ่มเวกเตอร์
การเคลื่อนที่ผ่านเวกเตอร์โดยใช้ตัววนซ้ำมักเรียกว่าการวนกลับหรือวนซ้ำ ตัววนซ้ำ Vector สามารถใช้ระบุวัตถุเฉพาะในคอลเลกชันเวกเตอร์ได้อย่างชัดเจน เมื่อดำเนินการระบุนี้วัตถุจะถูกระบุโดยดัชนีในเวกเตอร์ไม่ใช่โดยคุณสมบัติใด ๆ ของวัตถุเอง การดำเนินการสามารถดำเนินการกับวัตถุได้หากมีการยกเลิกการทำซ้ำโดยอนุญาตให้โปรแกรมเข้าถึงวัตถุอย่างชัดเจนแทนที่จะเป็นเวกเตอร์
Vector iterators มีโอกาสน้อยมากที่จะพบข้อผิดพลาดนอกขอบเขตที่สามารถเกิดขึ้นได้ในขณะที่วนซ้ำอาร์เรย์ แม้ว่าเวกเตอร์เป็นอาร์เรย์ที่ได้รับการยกย่องเป็นหลักเมื่อแยกโครงสร้างเวกเตอร์มักจะมีการตรวจสอบขอบเขตบางประเภทที่ทำให้แน่ใจว่าตัวทำซ้ำเวกเตอร์ยังคงอยู่ที่ดัชนีที่เหมาะสม เมื่อข้ามเวกเตอร์ตัววนซ้ำถ้าเรียกอย่างถูกต้องจะเริ่มต้นที่จุดเริ่มต้นของเวกเตอร์เสมอและสิ้นสุดที่ส่วนท้ายทุกประการ ข้อมูลจำเพาะที่ชัดเจนของดัชนีที่ไม่ถูกต้องยังคงเป็นไปได้ในบริบทบางอย่าง แต่การตรวจสอบขอบเขตเวกเตอร์ในตัวซึ่งแปลเป็นตัววนซ้ำของพวกมันป้องกันไม่ให้เกิดปัญหาล้นเกินขอบเขต
ใน C ++ เวกเตอร์สามารถแก้ไขได้ในขณะที่ถูกวนซ้ำโดยตัววนซ้ำ แต่ Java ไม่อนุญาตให้สิ่งนี้เกิดขึ้น การกระทำของ Java ในสถานการณ์นี้ปลอดภัยกว่ามากเนื่องจากการเปลี่ยนเวกเตอร์ในขณะที่ตัววนซ้ำกำลังเคลื่อนที่อยู่อาจทำให้ตัววนซ้ำอ่านโดยไม่ตั้งใจนอกเวกเตอร์ ความพยายามที่จะเพิ่มหรือลบรายการออกจากเวกเตอร์ในขณะที่วนซ้ำนั้นเป็นอันตรายอย่างยิ่ง ตัววนซ้ำแบบเวกเตอร์ไม่พร้อมที่จะรับมือกับการเปลี่ยนแปลงอย่างกะทันหันในพาหะและพาหะนั้นหมายถึงว่าค่อนข้างคงที่ในขณะที่ถูกสำรวจ
เวกเตอร์ตัววนซ้ำสามารถบอกเป็นนัยหรือชัดแจ้งได้และรูปแบบวากยสัมพันธ์ทั้งสองนั้นจะดำเนินการสำรวจเส้นทางได้อย่างราบรื่น แม้จะถูกกำหนดให้มีประสิทธิภาพเวกเตอร์ตัววนซ้ำสามารถชะลอความเร็วโดยเวกเตอร์ที่มีขนาดใหญ่มาก ในกรณีนี้การเข้ารหัสฮาร์ดดัชนีสิ้นสุดของเวกเตอร์จะช่วยเพิ่มความเร็วในการเคลื่อนที่ ปัญหานี้ไม่ได้เกิดขึ้นกับเว็กเตอร์ขนาดเล็กดังนั้นการเขียนโค้ดท้ายดัชนีอย่างหนักจึงไม่ทำให้การเร่งความเร็วที่ประเมินได้ การเข้ารหัสอย่างหนักดัชนีสิ้นสุดสามารถเพิ่มความเสี่ยงของการล้นได้ดังนั้นโดยทั่วไปควรทำเท่าที่จำเป็น


