1. begin()
vector<int> v = { 10, 20, 30, 40, 50, 60 };
cout << *(v.begin( ) + 4); // will print 50
vector<int>::iterator iter = v.begin( ) + 2;
// iter will point to 30
++iter; // moves iter forward
cout << *iter; // will print 40
2. end()
end function์ ๊ทธ๋ฅ FLAG!!
* last element ๋ฅผ ํฌ์ธํธ ํ์ง์์
* --v.end() ๋ value๊ฐ unpredictableํ๊ธฐ ๋๋ฌธ์ ์ธ์์์
3. Constant iterators ์์ํ ๋ฐ๋ณต์
- ์ปจํ ์ด๋์ ์์๋ฅผ ๋ฐ๋ณตํ์ฌ ์ฝ๊ธฐ๋ง ํ ๋ ์ฌ์ฉ
- ๋ฒกํฐ์ ์์๋ฅผ ๋ฐ๋ณตํ๋ฉด์ ํด๋น ์์๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์ถ๋ ฅ
- ์ปจํ ์ด๋ ์์๋ฅผ ์์ ํ ์ ์๋ ํ๊ฒฝ์์ ์ฌ์ฉ
vector<char>::const_iterator iter = v.cbegin();
*iter = 39; // illegal
4. Cycling Iterators ์ํ ๋ฐ๋ณต์
vector<int> v = {1,2,3,4};
vector<int>::const_iterator iter = v.cbegin();
vector<int>::const_iterator iterEnd = v.cend();
for (iter; iter != iterEnd; ++iter)
cout << *iter;
//*iter is current data item
vector<int> = {1,2,3,4,5};
vector<int>::const_iterator iter = v.cbegin();
vector<int>::const_iterator iterEnd = v.cend();
while (iter != iterEnd)
{
...
++iter;
//*iter is current data item
}
์ํ๋ฐ๋ณต์ .. ๋ค์ํธ์์ ๊ณ์ .. ^ใ ^
'เซฎโหถแต แต แตหถโแโก > coding' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] ostream iterator ์ถ๋ ฅ์คํธ๋ฆผ ๋ฐ๋ณต์ + etc... (0) | 2024.03.29 |
---|---|
[C++] Cycling Iterators ์ํ ๋ฐ๋ณต์ (0) | 2024.03.29 |
[C++] STL์ ๋ฐ๋ณต์ (Iterators) (0) | 2024.03.28 |
[C++] STL์ด๋? ( STL์ ์ ์์ ๊ตฌ์ฑ์์) (2) | 2024.03.27 |
[C++] ์ด๋ก ๊ณต๋ถ ์ค๋ต๋ ธํธ 1 (0) | 2023.09.22 |