profile-img
์ง€๋ฐ์ด์˜ ํ‹ฐ์Šคํ† ๋ฆฌ
images/slide-image

 

 

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' Related Articles +