ํผ์์ ์ด๊ฒ์ ๊ฒ ํด๋ดค์ต๋๋ค.
๋ฐฑํฐ๋ก ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ง๋ค๊ณ clear ํ๋ฉด ์๋ฉธ์๋ ํธ์ถ๋์ง๋ง size๋0์ด ๋๋๋ผ๋ capacity๋ ๊ทธ๋๋ก ๋ผ์ย swap๋ฑ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก capacity๋ฅผ ์ง์์ผ ํ์ต๋๋ค.
๋ฒกํฐ๋ก ๊ฐ์ฒด ํฌ์ธํฐ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ๊ฐ๊ฐ์ ์์์ ๋ํด new๋ก ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ํด์ฃผ์์ ๊ฒฝ์ฐ delete๋ฅผ ํ์ง ์์ผ๋ฉด ์๋ฉธ์๊ฐ ํธ์ถ๋์ง ์์์ ํ์ธํ์์ต๋๋ค.
๊ฐ๊ฐ์ ์์์ ๋ํด์ ์ธ๋ฑ์ค ์ฐ์ฐ์๋ฅผ ํตํด delete๋ฅผ ์ณ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ์์ต๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ๋ฆฌ์คํธ๋ก ๊ฐ์ฒดํฌ์ธํฐ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ๊ฐ๊ฐ์ ์์์ new ๋ก ํ ๋นํด์ฃผ์๋ค๋ฉด ์ด ์ญ์ delete๋ก ๋ฐ๋ก ํด์ ํด์ผ ํ๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค.
์ด๋ ๋ฒกํฐ์ฒ๋ผ ์ธ๋ฑ์ค ์ฐ์ฐ์๊ฐ ์๋๋ผ ๋ฐ๋ณต์๋ก delete ํด์ฃผ์์ต๋๋ค.
๋ค๋ง list๊ฐ sizeํจ์๋ง ๊ฐ์ง๊ณ ์๊ณ capacity๋ ์์ด์ list๋ก ๊ฐ์ฒด ๋ฐฐ์ด์ ์์ฑํ์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ํด์ ๊ฐ ์ด๋ป๊ฒ ๋๋ ๊ฑด์ง๋ ์์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
1.235๋ ์ด์๋ฆฌ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์์ง C++์ ๋ฌธ 3์ฃผ์ฐจ๋ผ ๋ง์ด ๋ถ์กฑํ๋ค์ ๋๋ถ์ ๋ง์ด ์์์ต๋๋ค.
์ ์ฌ๋์ด ๋๋ฌด ๊น์น ํ๊ฑฐ๊ณ ๋ฐฐ์ด์ง์ผ๋ง์๋๋์ฌ๋ ์ ์ฅ์๋ฌ ์ถฉ๋ถํ ๋ฌผ์ด๋ณผ์์๋ ์ง๋ฌธ์ธ๊ฑฐ๊ฐ์ผ๋ ๋๋ฌด๋ง์์ฐ์ง๋ง์ .
ํนํ ์ด๋ฐ ๊ฐ๋ ์ ์ธ๋ถ๋ถ์ ๋ด๋น์ ์ฅ์์ ์ง๋ฌธํค์๋๋ฅผ ์ ๋ฆฌํ๊ธฐ๋, ์์๋ณด๊ธฐ๋ ๋ ์ด๋ ค์ด๋ถ๋ถ์ผ๊บผ์. ์ง์ ์ฝ์งํด๋ณด๊ณ ๊ทธ๋ฐ๊ฒ๋ ์ฐพ์๋ณด๋๊ฒ ๋์์๋๊ฒ ์ง๋ง, ์์ง ๋ณด์ด๋๊ฒ๋ง์ง์์๋ ์ฃผ๋ณ ๊ต์๊ฐ์์ฌ๋๋คํํ ๋์๊ตฌํ๋ฉด ์ข๋ ๋ช ํํ๊ฒ ๋นจ๋ฆฌ ๊ธธ์ฐพ๊ธฐ ๋ ๊ฑฐ๊ฐ์.
๋ฐ๋ณด๊ฐ์ ์ง๋ฌธ์ด์๋๋ผ ์คํ๋ ค ์ ๊ณ ๋ฏผํ๊ณ ์ ๊ณต๋ถํ๊ณ ์๋๊ฑฐ์. ํฌ์ธํฐ ๋ฉ๋ชจ๋ฆฌ ์ฒ์๋ฐฐ์ฐ๋ ์ฌ๋๋ค ๋ง์ดํด๋งค๊ณ ํ๋ค์ดํ๋๋ถ๋ถ์ธ๋ฐ ๊ทธ๋ฐ๊ณ ๋ฏผํ๊ณ ๊ฐ์ก๊ณ ์๋๊ฒ๋งํด๋ ์ํ๋๊ฑฐ๊ฐ์. ํ์ดํ
๊ฐ์ฌํฉ๋๋ค ๊ทธ๋๋ ์คํ๋ ค ์ด์๋ฆฌ๋ฃ๊ณ ๋ ๋ฐ์ฑํ๊ณ ๊ณต๋ถํ๋ ๊ณ๊ธฐ๊ฐ๋ฌ์ต๋๋ค. ์์ง ๋ง์ด๋ถ์กฑํ์ง๋ง ๋์ด์ฌํ ํด๋ณด๊ฒ ์ต๋๋ค.
https://boycoding.tistory.com/236
capacity์๋ํด์ ์ฝ๊ฐ ์๋ชป์ดํดํ๊ณ ์๋๊ฑฐ๊ฐ์๋ฐ ์ด๊ฑฐ์ฝ์ด๋ณด๋ฉด์ข์๋ฏ
์ถ๊ฐ์ ์ผ๋ก list / vector / stack / queue์ด๋ฐ๊ฒ๋ค์ ์๋ฃ๊ตฌ์กฐ๋ผ๊ณ ํ๋๋ฐ, ์ฝ๊ฒ๋งํด ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ๊ตฌ์กฐ๋ก ๊ด๋ฆฌํ ๊ฒ์ด๋~ ํ๋ ๋ฐฉ์๋ค์. ๊ทธ๋ฆผ์์ฐธ๊ณ ํด์ ๋์ํ๋ ๊ตฌ์กฐ์ฐพ์๋ณด๊ณ , ์ ๊ทธ๋ฐ๊ฒ ํ์ํ์ง, ์ธ์ ์ฐ์ด๊ณ ์ด๋ค์ฅ๋จ์ ์ด์๋์ง๋ฅผ ๋จผ์ ์์๋ณด๋ฉด ๊ฐ๋ ์ ์ผ๋ก ์ ์ด๊ฑด์ด๋์ ์ด๋ฐ๊ธฐ๋ฅ์ด์๊ตฌ๋, ์ด๊ฑด์ด๋์ ์ด๊ฒํ์ํ๊ตฌ๋ ๊ฐ์๊ฒ ์ดํดํ๊ธฐ์ฌ์ธ๊ฑฐ์ผ
๊ฐ์ฌํฉ๋๋ค ์ฝ์ด๋ณด์์ต๋๋ค. ์ ๋ง๊ณ ๋ค๋ฅธ์ด๋ณด์๋ถ๋ค๋ ๋ณด์๋ผ๊ณ ๊ธ์ญํํ์ง์๊ฒ ์ต๋๋ค ์น์ ํ๊ฒ ์ค๊ฐ๋ ๋ ์ก์์ฃผ์๊ณ ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค^^
์ฌ๊ธฐ ์ ๋ค์ ๊ทธ๋ฐ๊ฑฐ ํ์ ์๋ค ์๊ฐํ์ง๋ง ํ์๋ก ์์์ผ ํ๋ ๊ฒ์ด ๋ฐ๋ก ์๋ฃ๊ตฌ์กฐ, ์๊ณ ๋ฆฌ์ฆ.
effective c++ ์ฝ์ด ๋ณด๋ ๊ฑฐ ์ถ์ฒ.
stl ๊ฐ์๊ฒ ์ด์ ์ ๋ฐ ์๋ฃ๊ตฌ์กฐ๋ค์ ์ฌ๋๋ค์ด ๋ง์ด์ฐ๊ณ ์ ์ฉํ๋๊น ํธํ๊ฒ ์ฐ์ธ์~ ํ๊ณ ๋ฏธ๋ฆฌ ์ค๋น๋์ด์๋๊ฒ๋ค์. ํฌ์ธํฐ, ๋ฉ๋ชจ๋ฆฌ, ์๋ฃ๊ตฌ์กฐ์๋ํด ์ข๋ ์์ ๊ฐ์๊ฐ๊ณ ์ถ๋ค๋ฉด stl์์๋ ์๋ฃ๊ตฌ์กฐ๋ค list stack queue ๊ฐ์๊ฒ๋ค์ ์ง์ ํฌ์ธํฐ, ํด๋์ค ์ฌ์ฉํด์ ๊ตฌํํด๋ณด๋๊ฒ๋ ๋งค์ฐ์ข์. ๋จธ๋ฆฌ๋ก๋ง์๋๊ฒ๊ณผ ์ค์ ํด๋ณด๋๊ฑด ๋ ์์ ๋ค๋ฅด๊ฑฐ๋
์์ฌ๋๋ค์ด๋งํ ์๊ณ ๋ฆฌ์ฆ ์ดํํฐ๋ธ๋ ๋์ค์๋ณด๋๊ฑธ์ถ์ฒ. ์ข์๋ฐ ์ง๊ธ๋ณด๋ฉด ์ฒดํ ๊ฑฐ์. ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ๋ฅผํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์๋ํ ๋ด์ฉ์ด๊ณ , ์ดํํฐ๋ธ๋ ๊ธฐ๊ต๋ผ๊ณ ์๊ฐํ๋ฉด๋๋๋ฐ ์ผ๋จ์ ๊ธฐ๋ณธ๋ฌธ๋ฒ, ๊ธฐ์ด๊ฐ๋ ์ ์ต์ํด์ง๊ณ ์๋ฃ๊ตฌ์กฐ ใ ก ์๊ณ ๋ฆฌ์ฆ ์์ผ๋ก๊ฐ๋ฉด๋ ๊ฒ. ํ๋ถ์์ด๋ฉด ์ปค๋ฆฌํ๋ผ๋ฐ๋ผ๊ฐ๋ฉด์ ์ค์ค๋ก ๋ ์ฐพ์๋ฐฐ์ฐ๋ฉด๋
์ ๋ c++ ํ๋ค๊ฐ ํฌ์ธํฐ ๋ถ๋ถ์์, ์ด๊ธฐ ๋ญ๊ผฌ? ํ๋ฉฐ c#์ผ๋ก ๊ฐ์ํ๋๋ฐ... ๊ณต๋ถ๋ฅผ ์ด์ด๋๊ฐ์๋ ๊ฒ ์์ฒด๊ฐ ๋ถ๋ฝ๋ค์
์ ๊ณต์๊ฐ ์๋๋ผ๋ฉด ํ๋ฅญํ ์ ํ์ ๋๋ค ใ ใ ใ
๋ค๋ค ํํธ๊ฐ ๋น๋๊ฐ๊ฒ๊ฐ์๋ฐ, std::vector ๋ด๋ถ์์ ํ ๋น๋ ๋ฐฐ์ด ๋ฉ๋ชจ๋ฆฌ๋ vector์ ์๋ฉธ์ ๋ด๋ถ์์ ์ค์ค๋ก ์์์ ํด์ ํจ. ๊ทธ๋ฌ๋๊น capacity๊ฐ ๋จ์์์ด๋ ์ ๊ฒฝ์ธํ์์์. ์ง๊ฐ ์์์ ์ญ์ ํจ. ์ด๋ฐ ๊ฐ๋ ์ ์ต์์น ์์๊ฑธ ๋ณด๋ C์์ ๊ฑด๋์จ๊ฒ๊ฐ์๋ฐ ์๋ฉธ์์ ๋ํด์ ๋ ์ฐพ์๋ณด์ - dc App
'๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ'๋ผ๋ ์์ ๊น์ง๋ vector ํด๋์ค์ ์บก์ํ๋์๋ค๊ณ ๋ณด๋ฉด๋จ. ์ด๋ ๋ชจ๋ STL ์ปจํ ์ด๋ ํด๋์ค๋ ๋ง์ฐฌ๊ฐ์ง์ - dc App
STL ์ด์ ์ C++์ ๊ธฐ๋ณธ ๋์ ์๋ฆฌ๋ถํฐ ๋ค์ ์ฐจ๊ทผ์ฐจ๊ทผ ๊ณต๋ถํด๋ณด๋๊ฑธ ์ถ์ฒ - dc App
์์ ๊ฐ์ฌํฉ๋๋ค ใ ใ ใ ใ