vector๋ STL์์ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉํ๋ ์๋ฃ๊ตฌ์กฐ๋ ๋ฐฐ์ด(array)์ธ๋ฐ, vector๋ ๋ฐฐ์ด์ ๋์ฒดํ์ฌ ์ธ ์ ์๋ค.
๋ฐฐ์ด์ ๊ฒฝ์ฐ ๊ฐ์ ์ข ๋ฅ์ ๋ฐ์ดํฐ๊ฐ ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋๋ค.
๋ฐฐ์ด์ ํฌ๊ธฐ๋ ๊ณ ์ ๋์ด ์์ง๋ง vector๋ ๋์ ์ผ๋ก ๋ณํ๋ค๋ ์ ์ด vector์ array์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ด๋ค.
1. ๋ฐฐ์ด์ ํน์ง
- ํฌ๊ธฐ ๊ณ ์ : ์ฒ์์ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ฉด ์ดํ์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ์ง ๋ชปํ๋ค.
- ์ค๊ฐ์ ๋ฐ์ดํฐ ์ฝ์ , ์ญ์ ๊ฐ ์ฉ์ดํ์ง ์๋ค.
- ๊ตฌํ์ด ์ฝ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ๋ฏ๋ก ๋๋ค ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
2. vector๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ
- ์ ์ฅํ ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ ๊ฐ๋ณ์ ์ด๋ค.
- ์ค๊ฐ์ ๋ฐ์ดํฐ ์ฝ์ , ์ญ์ ๊ฐ ์๋ค. ๊ฐ์ฅ ๋ค์์๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ฑฐ๋ ์ฝ์ ํ๋ ๊ฒฝ์ฐ์ ์ ํฉํ๋ค.
- ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋๋ฏ๋ก ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ฒฝ์ฐ ๊ฒ์ ์๋๊ฐ ๋น ๋ฅด์ง ์๋ค.
- ๋ฐ์ดํฐ ์ ๊ทผ์ ๋๋คํ๊ฒ ํ ์ ์๋ค.
vector class ์ฃผ์ ๋ฉค๋ฒ
vector::vector
vector::assign - ์ ์ฅ๋ ๊ฐ๋ค์ ์๋ก์ด ๊ฐ ๋์
vector::at - n๋ฒ์งธ์ ์์๋ฅผ ๋ฐํํ๊ฑฐ๋ ๋์ ํ ๋ ์ฌ์ฉ
vector::back - ๋ง์ง๋ง ์์์ ๊ฐ์ ๋ฐํํ๊ฑฐ๋ ๋์
vector::begin - ์ฒซ๋ฒ์งธ ์์์ ๋ํ ๋ฐ๋ณต์(iterator) ๋ฐํ
vector::capacity
vector::clear - ๊ฐ ์ญ์ . ์ต์ข ์ ์ผ๋ก size๋ 0์ด ๋๋ค.
vector::empty - ๋ฒกํฐ๊ฐ ๋น์ด์๋์ง ์ฌ๋ถ ๊ฒ์ฌ. if(size() == 0)๋ณด๋ค ์๋๋ฉด์์ ์ด๋.
vector::end - ๋ง์ง๋ง ์์์ ๋ค์ ์์์ ๋ํ ๋ฐ๋ณต์ ๋ฐํ
vector::erase - ํ๋ ๋๋ ํน์ ๋ฒ์์ ๊ฐ ์ญ์ . ์ญ์ ๋ ์์์ ๋ค์ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ฐ๋ณต์ ๋ฐํ.
vector::front - ์ฒซ๋ฒ์งธ ์์์ ๋ ํผ๋ฐ์ค ๋ฐํ
vector::get_allocator
vector::insert - ์๋ก์ด ์์ ์ฝ์ . ์ง์ ํ ์์น์ ์์ชฝ์ ์ฝ์ ๋๋ค.
vector::max_size
vector::operator=
vector::operator[] - ์ฒจ์์ ํด๋นํ๋ ์์์ ๋ ํผ๋ฐ์ค ๋ฐํ. ์ฒจ์๋ 0๋ถํฐ ์์.
vector::pop_back - ๋ฒกํฐ์ ๋ง์ง๋ง ์์ ์ญ์
vector::push_back - ๋ฒกํฐ์ ๋ง์ง๋ง์ ์๋ก์ด ์์ ์ถ๊ฐ
vector::rbegin - ๋ง์ง๋ง ์์๋ฅผ ๊ฐ๋ฆฌํค๋ reverse ๋ฐ๋ณต์ ๋ฐํ
vector::rend - ์ฒซ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ reverse ๋ฐ๋ณต์ ๋ฐํ
vector::reserve - automatic reallocations์ ๋ฐฉ์งํ๊ธฐ ์ํด reserve๋ก ์ ์ฅ ๊ณต๊ฐ์ ๋ฏธ๋ฆฌ ํ๋ณดํ๋ ์ฉ๋๋ก ์ฌ์ฉ
vector::resize - ๋ฒกํฐ์ ์ฌ์ด์ฆ ๋ณ๊ฒฝ
vector::size - ๋ฒกํฐ์ ์ ์ฅ๋ ์์์ ๊ฐ์ ๋ฐํ
vector::swap - ๋ ๋ฒกํฐ์ ์์๋ฅผ ๊ตํ. ๊ฐ์ ๋ฐ์ดํฐํ์ ์ผ๋๋ง ์ฑ๋ฆฝ
โป STL string class: http://pages.cs.wisc.edu/~cs368-2/CppTutorial/NOTES/STRING.html
'ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C++ ํ์ผ ์ ์ถ๋ ฅ ofstream / ifstream (0) | 2015.04.09 |
---|---|
Eigen3 Library (0) | 2015.03.27 |
STL set class (0) | 2015.03.25 |
STL map class (0) | 2015.03.25 |
[tbd] Deformation Transfer for Triangle Meshes (2004) (0) | 2015.03.23 |