์ฐ์ ํค๋์ #include <iterator> ๋ฃ๋๊ฑฐ๋ฅผ ๊น๋จน์ง ๋ง์!
ostream_iterator๋ ์ถ๋ ฅ ์คํธ๋ฆผ ๋ฐ๋ณต์๋ก, ํ์ ๋งค๊ฐ๋ณ์๋ก ์์์ ํ์ ์ ๋ฐ๋ ํด๋์ค ํ ํ๋ฆฟ์ ๋๋ค. ์์ฑ์๋ ์ถ๋ ฅ ์คํธ๋ฆผ๊ณผ ์ด ์คํธ๋ฆผ์ ์์ ๋๋ง๋ค ๋ถ์ผ string ํ์ ์ ๊ตฌ๋ถ์๋ฅผ ์ธ์๋ก ๋ฐ์ต๋๋ค. ostream_iterator ํด๋์ค๋ ์คํธ๋ฆผ์ ์์๋ฅผ ์ธ ๋ operator<<๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Used to output data to an output stream
ostream_iterator<Tyoe> out(ostream&);
์์:
#include <iterator>
...
ostream_iterator<char> screen1(cout);
copy(v.begin(), v.end(), screen1);
//will output the contents of v
1. ostream iterator ์ delimiter (์ถ๋ ฅ ๋ฐ๋ณต์์ ๊ตฌ๋ถ์)
ostream_iterator<Type> out(ostream&, char* deLimit);
deLimit์ด๋ผ๋ ๊ตฌ๋ถ์๋ฅผ ํตํด char๋จ์๋ก ์ชผ๊ฐ์ ์ถ๋ ฅํ ์ ์์
์์:
ostream iterator<int> screen2(cout, " ");
copy(v.begin(), v.end(), screen2);
// will output the contents of v
// seperated by a space
2. range-based FOR loop
vector<int> aVector = {1, 2, 3, 4, 5};
for (int i : aVector)
cout << i << " ";
- less prone to errors : ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ out-of-bonds ์ ๊ทผ์ ๋ฐฉ์ง ํ๊ธฐ๋๋ฌธ์ ์ค๋ฅ ๋ฐ์๋ฅ ์ด ์ ์
- Does not use a counter variable : ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ์ ํต์ ์ธ for loop์ ๋ฌ๋ฆฌ ์ปจํ ์ด๋์ ์์๋ฅผ ์ง์ ์ฌ์ฉ. ๋ฐ๋ณต ๋ณ์๋ฅผ ๋ฐ๋ก ์ ์ธํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ ํ์๊ฐ ์์
- Does not use a subscript operator : ๋ฐฐ์ด์ ๊ทผ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง์์ ! ์ปจํ ์ด๋์ ์์๋ฅผ ์ง์ ์ฐธ์กฐํจ
vector<string> aVector = {"First", "Middle", "Last"};
for(const string& i : aVector)
cout << i << " ";
-> ์ฐธ์กฐ์ฌ์ฉํ๊ธฐ !
3. AUTO !!
vector<int> aVector = {1, 2, 3, 4};
auto iter = aVector.begin();
auto iterEnd = aVector.end();
for(iter; iter != iterEnd; ++iter)
cout << *iter;
์ฅ์ : initialization expression ์์ ํ์ ์ ์ถํ๊ฒ ํ์ฌ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์. ex: (string) ์ผ์ผํ๋ฉด ๋๋ฌด ๊ธธ๋ค..
๋จ์ : ๋ณ์์ ํ์ ์ด ๋ช ํํ์ง์๊ฑฐ๋ ์ถ๋ก ์ด ๋ณต์กํ ๊ฒฝ์ฐ ์คํ๋ ค ๊ฐ๋ ์ฑ์ ํด์น ์ ์์ !
๋ !
ostream๊ฒ๋ ์ด๋ ต๋ค.. ๋จผ์๋ฆฐ์ง ๋ชจ๋ฅด๊ฒ ๋ค ; /Mar 29 2024
'เซฎโหถแต แต แตหถโแโก > coding' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] STL ์ฐ๊ด์ปจํ ์ด๋ STL Associative Container (sets and multisets, maps and multimaps) (3) | 2024.03.29 |
---|---|
[C++] STL ์์ฐจ ์ปจํ ์ด๋ STL Sequence Container (Vector, List) (0) | 2024.03.29 |
[C++] Cycling Iterators ์ํ ๋ฐ๋ณต์ (0) | 2024.03.29 |
[C++] iterator's function (0) | 2024.03.29 |
[C++] STL์ ๋ฐ๋ณต์ (Iterators) (0) | 2024.03.28 |