Chủ đề: Iterator trong C++
-
14-10-2014, 03:24 PM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Iterator trong C++
Em đọc qua STL thì thấy có 5 iterator: Input,Output, Forward, Bidirectional, Randomaccess . Nhưng trong lý thuyết thì chi có nói sơ qua. Vậy sự khác nhau giữa các iterator này là gì, bác nào cho em ví dụ với. Em cám ơn các bác .
View more random threads:
- Stack,Queue
- giải quyết lỗi " too few arguments functions..." Giúp mình
- nhờ giúp bài đệ quy
- Ai rành C++ giúp em với
- [Thắc mắc về con trỏ và mảng 2 chiều trong C]
- Chia đôi ma trận
- Cần tìm thầy dạy c++
- Template trong bài toán ma trận - Help me !!!
- in ra màn hình số nguyên tố nhỏ hơn gần nhất với n
- Lỗi Runtime Error! R6034
-
15-10-2014, 12:07 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
it = iterator X
nếu X là input iterator thì deref it được: *it;
nếu X là output iterator thì deref it được và gán giá trị cho *it được: *it = x;
nếu X là foward iterator thì increment it được: ++it; it++;
nếu X là bidirectional iterator thì increment và decrement it được: ++it; it++; --it; it--;
nếu X là random access iterator thì increment, decrement, và thực hiện phép +/- trên it được: ++it; it++; --it; it--; it - 6; it + 3; it += 3; it -= 4, v.v...
input/output iterator thì dễ rồi khỏi ví dụ
vd foward iterator: singly linked list: chỉ gán node = node->next được, đồng nghĩa với chỉ ++it hoặc it++ được.
vd bidirectional iterator: doubly linked list: gán node = node->next được, và gán node = node->prev được đồng nghĩa với ++it hoặc it++ hoặc --it hoặc it-- được.
vd random access iterator: con trỏ mảng. ++, --, +, - đều được. (Trong khi với linked list thì ko + hoặc - được mà phải tăng từ từ từng bước một)
NGUỒN SỈ ÁO KHOÁC DENIM NỮ TPHCM CHẤT LƯỢNG CAO Bạn muốn nhập sỉ áo khoác denim nữ để bắt đầu việc buôn bán Online phong cách nhưng lại chưa có kinh nghiệm, muốn sắm xưởng sỉ xống áo vừa có thể giải...
Xưởng sỉ áo khoác jeans denim giá...