Một iterator chỉ là một khái niệm mà cung cấp giao diện cần thiết cho vòng lặp - đây là những khác nhau cho các loại trình lặp khác nhau và được quy định trong phần 24.1 của tiêu chuẩn C++ (Yêu cầu Iterator).
Cách trình vòng lặp được triển khai phụ thuộc vào những gì chúng lặp lại - đối với vectơ, chúng thường là một trình bao bọc xung quanh một con trỏ duy nhất tới một mảng (trong bản phát hành), đối với các thùng chứa phức tạp hơn chúng có triển khai phức tạp hơn. Đối với các phạm vi kết thúc mở, chúng sẽ chứa trạng thái của bất kỳ thuật toán nào được sử dụng để tạo các phần tử.
Lưu ý rằng một con trỏ đến một phần tử trong một mảng đáp ứng các yêu cầu của một trình vòng lặp truy cập ngẫu nhiên, do đó ở một mức độ nào đó chúng có thể hoán đổi cho nhau.
Nguồn
2010-04-28 09:42:37
chúng ta có thể nói con trỏ là tập hợp con của trình lặp không? – solti
Có, tuyệt đối –