C++๋ฌธ๋ฒ ๋ค ์ฝ๋๋ฐ 20์ผ ์ข ๋๊ฒ ๊ฑธ๋ฆฐ ๋ฏ?
ํ๋ฃจ ๋์๊ฐ ํฌ์
๋ฐฐ์ฐ๋ฉด์ ๋ฐฐ์ธ๊ฒ ๋๋ฝ๊ฒ ๋ง๊ตฌ๋ ์ด ์๊ฐ๋ง ํจ.
ํ๋ฐ๋ถ์๋ ๋์ถฉ ๋๊ธด ๊ฒ๋ค๋ ๋ง์ ๋ฏ.
ํฌ์ธํฐ๋ ์์งํ ๊ทธ๋ ๊ฒ ์ด๋ ค์ด ๋๋์ ์๋์์.
๋์ ํ ๋น๋ ๊ทธ๋ ๊ฒ ์ด๋ ค์ด ๊ฐ๋ ์ด ์๋๊ฑฐ ๊ฐ๊ณ .
๋จ์ํ ํ์ด๋ผ๋ ๊ณต๊ฐ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ด๋ฆฌํ๋ค๋ ๋๋?
๋์ถฉ ๋์ ์ฃผ์ ~ ๋ฎ์ ์ฃผ์ ์ด๋ฏธ์ง ๋ณด๋ ๊ฐ์ด์ค๋.
๊ฐ๋จํ๊ฒ ๊ฒ์ ๋ด๋ถ ๋ก์ง๋ง c++๋ก ์ง๋ ์ค.
์์ง ํค๋ํ์ผ๋ง ์ค๊ณํ๋ ์ค์ธ๋ฐ.
์ธ์ด = ๋๊ตฌ ๋ผ๋๊ฒ ์ค๊ฐ ๋๊ธด ํจ. C++์ ์๊ฐ๋ณด๋ค ๊ด์ฐฎ์ ๋๊ตฌ ๊ฐ๊ณ .
๊ทธ๋ฆฌ๊ณ ์ ์ธ/์ ์ ๊ตฌ๋ถํ๊ณ .
๋์ค์ ์ ์ํ ์ ์๋๊ฒ ์ผ๋ง๋ ์ข์๊ฑด์ง ใ ใ ใ ใ
ํ์ด์ฌ ํ ๋๋ ๋ญ๊ฐ ๋ฐ๋ก๋ฐ๋ก ์ง๊ฒ ๋๋๋ฐ.
C++์ ํจ์ ์ ์ธ ๋จผ์ ํ๊ณ ๋์ถฉ ์ด๋ค๊ฐ๋ ์ผ๋ก ์์ง์ผ์ง ์๊ฐํ๊ฒ ๋๋...
์ํผ c++ ์์ฒด๋ ๊ทธ๋ฆฌ ๋์ฌ๋ฒฝ์ด ์๋์์
๊ทผ๋ฐ ์ง๊ธ ๋ง๋๋๊ฑฐ ๋๋ด๊ณ ํ๋ฒ ๊ทธ๋ํฝ ์ ํ๋ณด๊ณ
๋์์ธ ํจํด์ด๋ ์๊ณ ๋ฆฌ์ฆ ํด๋ณด๋ฌ ๊ฐ๊ป๋ฐ.
์ด๊ฒ ์ข ๋ ์ด๋ ค์ธ๊ฑฐ ๊ฐ์....?
๊ฒฐ๋ก ์ ์ผ๋ก c++ ์์ฒด๋ ๋ฌธ๋ฒ ๋จ๊ณ๋ ๊ทธ๋ฆฌ ๋์ฌ๋ฒฝ์ด ์๋์์.
์ด์ฐจํผ ๋์์ธ ํจํด/์๊ณ ๋ฆฌ์ฆ์ ๋ค๋ฅธ ์ธ์ด์์๋ ์๊ตฌ๋๋๊ฑฐ๋ผ.
C++ ์ด๋ ต๋ค๋ ๋ง์ ๊ฒ๋จน์ง ๋ง๊ณ ์ผ๋จ ๊ณต๋ถ ์ถ์ฒ.
์ ๋ฌธ ์ธ์ด๋ก๋ ๋น์ถ์ง๋ง ์ถ๊ฐ์ ์ผ๋ก ๋ฐฐ์ฐ๋ ์ธ์ด๋ฉด ๋ฐฐ์ฐ๋๊ฒ ๊ด์ฐฎ์ ๋ฏ.
์ด์ ์ ํ์ด์ฌ ๊ฐ์ง๊ณ ์ด๋ฆฌ์ ๋ฆฌ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ณ ๊ทธ๋ฌ์์.
๊ตฟ๊ตฟ
c++ ์ฒซ์ธ์ด๋ก ํ๋ฉด์ ์ด๋ ค์ ๋๊ฒ ํฌ์ธํฐ, call by reference, ๋คํ์ฑ ์ด๋ ๊ฒ 3๊ฐ์ง์๋๋ฐ ์ด๊ฑฐ ์ผ์ถ ์ดํดํ๊ณ ๋ถํฐ๋ ๋ฌธ๋ฒ์ผ๋ก ๊ณ ์ํ์ ์ ์๋๋ฏ
์ํด ๋๊ฐ ํ๊ฑด c++ ์ด ์๋๋ผ ๊ฑ ๊ธฐ์ด c์ c++ ์ด 10๋ 20๋ ์ ๋ถํฐ ๊ฐ์ด๋ ต๋ค๊ณ ์์ณ๋จน๊ณ ๋ชจ๋c++ ๋์ค๊ณ ๋ ์๋ก ๊ฐ๋ฐ์๋คํํ ์์ณ๋จน๋๊ฒ ์ ์ค ์๋? c++์ ๊ฐ์ฒด์งํฅ์ฑ๊ณผ ์ฝ๋ฉํธ์์ฑ์ ๊ฐํํ๊ธฐ ์ํด์ ํ ํ๋ฆฟ์ด๋ ๊ฐ์ข ๋ถ๊ฐ๊ธฐ๋ฅ, stl ๋ค์ด ๋๊ฑฐ ์ ์ ๋์๊ณ ์ด๋ก ์ธํด์ ํ์ต๊ณก์ ์ด ใ ใด ์ฌ๋ผ๊ฐ์ ์ ๋๋ก ๋ชจ๋ฅด๋ฉด c๊ฐ ์๋ c++ ์ ๋๋ก ์ด ์ฝ๋๋ ์ ๋ ์ดํด ๋ชปํ๋ค ๊ณ ์ c ๋ฌธ๋ฒ ์กฐ๊ธ ๋ณด๊ณ ๋๋ง๋๋ก ๋ท๋ถ๋ถ์ ๊ฑ ํ๋๋ ์ดํด๋ชปํ๊ณ ๋๊ธด๊ฑฐ ๊ฐ์๋ฐ c ํฌ์ธํฐ ๊ทธ๊ฑฐ ใ ๋ฐฅ ๋ง์ ๋ ์ฒ์ c๋ก ์ฝ๋ฉ ์ ๋ฌธํด์ 1์ฃผ์ผ๋ง์ c ๋ค ๋ c++ ์ ๋์ค์ ๋ณด๊ธด ํ๋๋ฐ ํ๋ฌ ์ฏค ๋ณด๊ณ ํ์ด๋ ๋ณต์กํด์ ์ดํด ์ ์๋๋๋ผ ํ ํ๋ฆฟ ๋ฉํ, shared_ptr,, guard, effective c++ ์ด๋ฐ๊ฑฐ ๋ชจ๋ฅด๋ฉด c++ ํ๊ฑฐ ์๋
ํ ํ๋ฆฟ ์ค๋งํธ ํฌ์ธํฐ? ํ ํ๋ฆฟ์ ์ดํดํจ. ๊ทผ๋ฐ ์ค๋งํธ ํฌ์ธํฐ๋ ์ฝ๊ฐ ๋๊ธด ๋ถ๋ถ ์์ Gaurd๋ ํค๋ํ์ผ์์ ์ด์ค์ผ๋ก ๋ชป์ฐ๊ฒ ๋ง๋๊ฑฐ ๋งํ๋๊ฑฐ ๊ฐ์๋ฐ ์ด๋ฏธ ์ฐ๊ณ ์์. effective c++์ ์ฑ ๋งํ๋๊ฑฐ ๊ฐ์๋ฐ ์ค์ฝง๋ง์ด์ด์ค๊บผ ์ด๊ฑฐ๋ ์ฝ์์์
Stl ใ ๊ฐ์๊ฑด ์๊ณ ์์ ์ ์ด์ ๋ฐฐ์ธ ์์ด ๋ฐ๋๊ฒ ์ด๊ฑฐ ๊ฐ๊ณ . ์ฑ ์์ stl ๋ถ๋ถ์ ์ ์๋ค๋ค์ ๋ถ์กฑํ๊ฑฐ๋ ์ธ์ . C๋ฌธ๋ฒ์ ์ ์ด์ ๊ธฐ์กด๋ถํฐ ์กฐ๊ธ ์๊ณ ์์์. ๊ทธ๋์ ์ด๋ฐ๋ถ์ ์ง๋ฃจํ์๊ณ ... C๊ธฐ์ด ๋ฌธ๋ฒ๋ง ์ตํ๊ฑด ์๋ ํด๋์ค/์์/๊ฐ์ํจ์/์ฐ์ฐ์ ์ค๋ฒ๋ก๋ก๋ฉ/ํจ์ ์ค๋ฒ๋ก๋ฉ ๋ฑ๋ฑc++ ์์ญ์ ํด๋น๋๋๊ฑฐ ์ตํ๊ณ ์ดํดํจ.
๋ด๊ฐ ๋๊ธด๋ถ๋ถ์ด ์๋ง ์ผ๋ฐํ ํ๋ก๊ทธ๋๋ฐ ์ชฝ. ์ฌ๊ธฐ์ ์ค๋ช ๋ช๊ฐ๊ฐ ์ฐ๊ฒฐ์ด ์๋์, ์ข ๋๊ฒผ์์ ๊ทธ๋ฆฌ๊ณ ์์ธ ๋ถ๋ถ์ด๋. ์ค๋งํธ ํฌ์ธํฐ ๋ถ๋ถ์ ํ์คํ ๋์ ํ ๋น ํ ๋ ํ์ ํ ๊ฑฐ ๊ฐ์์. ํ์ํ ๋ ๋ค์ ๋ณผ ์์ .
์๋ ์ดํดํ๊ธด ๋ญ ์ดํดํด ใ ใ ๋์ถฉ ์ํ๊ณต์ ํจ ํ์ด๋ณด๊ณ ์์ด๊ฑฐ? ๋ค ์ดํดํ๋ค ํด๋๊ณ ์ ์ ๋ฌธ์ ๋ ๋ชปํธ๋ ์์ค์ด๊ฒ ์ง ๊ทธ์ผ๋ง๋ก ์ฐ๋งคํจ์ ๋ด์ฐ๋ฆฌ ํ ํ๋ฆฟ ๋ฉํ ํ๋ก๊ทธ๋๋ฐ์ ์์ ์ฑ ์ด ํ๊ถ ๋์ฌ์ ๋๋ก ๋ณต์กํ๊ณ ์ ๋ฌธ๊ฐ๋ค๋ ๋๋ฌด ๋ณต์กํด์ ์ต์ํ์ผ๋ก ์ฐ๋ ๊ฒ์ ๊ถ์ฅํ๋ ์์ค์ธ๋ฐ ํจ ๋ณด๊ณ ๋ค ์ดํดํ๋ค? ํฐ ๋ ธ์ด๋ง์ ํ์์? ์์์ด๋๊ฒ ์ด๋ฐ๊ฑฐ๊ณ ํ ํ๋ฆฟ์ด๋๊ฒ ์ด๋ฐ๊ฑฐ๋ค ๊ทธ๋ฐ๊ฑด ๊ฑ ํ๋ฒ ๋ณด๋ฉด ๋๊ฐ ๊ฐ์ ์กํ๋๊ฑฐ? ๊ทธ๊ฑฐ ๋๊ตฌ๋ ๋ค ๊ทธ๋ ์ ๋๋ก ์ ์ฉํ๋ ค๊ณ ๋ณด๋ฉด ๋จธ๋ฆฌ ๋ณต์กํด์ง๋๊ฒ ๋ฌธ์ ์ง ๊ณ ์ ๊ทธ๊ฑธ๋ก ๋ ๋ค ์ดํดํ๋ค? ์ดํด ๊ทธ๋ฆฌ๊ณ ๋ฌด์จ guard๊ฐ ํค๋ํ์ผ์ด์ผ ์์ ์๊ด์๋๊ฑฐ๊ณ stl ์์ฒด๋ฅผ ์์ ๋ชจ๋ฅด๋๊ฑฐ ๊ฐ์๋ฐ ๊ทธ๋ฌ๋ฉด guard๋ ๋ชจ๋ฅผ ์๋ฐ์ ๊ธ๊ณ ํ ํ๋ฆฟ ์ฑ ๋ณด๊ณ ์ดํดํ ์์ค์ธ๋ฐ ์ค๋งํธ ํฌ์ธํฐ๋ฅผ ์๋๊น? ๊ทธ๊ฒ ๊ฐ๋ ์ ์ผ๋ก๋ ๋ ์ฌ์ด๊ฑด๋ฐ
๊ฑ ๋งํ๋๊ฑฐ๋ง ๋ด๋ ๊ฒํฅ๊ธฐ๋ก ์ฑ ํ์ด๋ณด๊ณ ๋์ถฉ ์๊ฑฐ๊ฐ์ผ๋๊น ์ ์๊ฒ ๋ค ๋ค ์ดํดํ๋ค ์ด์์ค ๊ทธ๋ ๊ฒ ํ ๊ฑฐ๋ฉด ๋ 3์ผ ์์ c,c++ ๋๋ค ๋์๊ฑฐ๋ค ในใ c/c++ ๊ฐใ ๋ฐฅ์ด๋ค ใ ใ
๋๊ฐ ์ง์ฌ ํ๋ฃจ2์๊ฐ 20์ผ๋ง์ c++ ์ ์ ๋ฐ์ ์ผ๋ก ์ ๋๋ก ๋ค ์ดํดํ๋ค๋ฉด ๋ ๊ฑ ์ฒ์ฌ๋๊น ํ๋ฃจ์ 10์๊ฐ์ฉ ํ๋ฌ๋ด์ ํ๋ ์ฝ๋ฉ ๊ธฐ์ ์ ๋ถ ๋ง์คํฐ ํ๊ณ 2๋ฌ๋์ ์๋ฅ ๋นก๊ณตํด์ ์์ธ๋ ๊ฐ๋ค์์ ๋ฐ๋ก 1ํ๋ ๋ถํฐ ์ฐ๊ตฌ์ค ๋ค์ด๊ฐ์ ํ๋ถ์ฐ๊ตฌ์์ผ๋ก ๋ ผ๋ฌธ์ฐ๊ณ 1๋ฌ๋์ ํ ํ ๋ง์คํฐํ๋ค์ ์คํ ํผ๋์์ ๋ฐ์ฌ๋ฐ๊ณ ์ด์๋ฆฌํธ ์ ๋ฌธ๊ฐ๋ก ์ด๋ฉด ๋๊ฒ ๋ค
๋ฌด์ง์ฑ์ผ๋ก ํจํด ๋ฐฐ์ฐ๋ ค๊ณ ํ๋ฉด ์ดํด ์ด๋ ค์ฐ๋๊น ๊ทธ ์ ์ ์๋ฃ๊ตฌ์กฐ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒ์ํด์ ์ตํ๋ณด๋๋ก ํด. ๊ทธ๋์ผ ํจํด ๊ณต๋ถํ ๋ ๋ฐฐ๊ฒฝ์ง์์์ด์ ๋ ์ข์๊ฑฐ์
์ด๋ณด ๊ฐ๋ฐ์ ํน) c++์ด ์ฝ๋ค๊ณ ํจ. - dc App
ใ ใ ์ฒ์ฌ์ธ์ค์๋ ใ ใ ์ธ๋ฏ
์ด๋์ ๋ ์์ค์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง c++์ฝ๋ค๊ณ ๋๋๊ฑด ๋๊ฐ ์ ๋๋ก ์ ํ๋ณธ๊ฑฐ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์. ์ง์ง ์ฒ์ฌ์ธ๊ฑฐ ์๋๋ฉด ์ต์ 6๋ฌ, ์ต๋ 2,3๋ ์ ๊น๊ฒ ใ ใด๊ฒ ํ์ผ๋จ.. ๋ฌผ๋ก ํ์ด์ฌํ๋ค๊ณ ํ๋ ๋ ์ฝ๊ฒ ๋ค๊ฐ๊ฐ์์ ์๊ฒ ์ง๋ง ๊ฐ์ธ์ ์ผ๋ก ๋๊ฐ ์ ์๊ธ ๋ณด๋ฉด ๊น๊ฒ ํ๊ฑฐ๊ฐ์ง ์์;