Tôi có một lớp TContainer là tổng hợp của một số bộ sưu tập stl sưu tập tới lớp TItems.Iterator tùy chỉnh trong C++
Tôi cần phải tạo một Iterator để duyệt qua các phần tử trong tất cả các bộ sưu tập trong lớp TContainer của tôi, trừu tượng hóa máy khách của các hoạt động bên trong.
Điều gì sẽ là một cách hay để thực hiện việc này ?. Tôi có nên crate một lớp mở rộng một iterator (nếu như vậy, những gì iterator lớp tôi nên mở rộng), tôi nên tạo một lớp iterator đó là một tổng hợp của iterators?
Tôi chỉ cần trình lặp lặp FORWARD_ONLY.
tức là, Nếu đây là container của tôi:
typedef std::vector <TItem*> ItemVector;
class TContainer {
std::vector <ItemVector *> m_Items;
};
Điều gì sẽ là một Iterator tốt để đi qua tất cả các mục chứa trong các vectơ của biến thành viên m_Items.
Bạn có thể cho chúng tôi biết thêm về container và iterator của bạn? Ví dụ, là iterator bi-directional? – joshdick
Cảm ơn, tôi đã chỉnh sửa câu hỏi của tôi để làm rõ câu hỏi của bạn. – Sugar
Bạn thực sự muốn m_items là một vector của con trỏ? Tại sao không chỉ là một vector của ItemVector? –