unique_ptr2 [STL] ์ค๋งํธํฌ์ธํฐ(std::unique_ptr, std::shared_ptr, std::weak_ptr) ์ค๋งํธํฌ์ธํฐ ์ค๋งํธํฌ์ธํฐ๋ C++์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ ์ค์ ๋งค์ฐ ์ค์ํ๋ค๊ณ ํ ์ ์์ต๋๋ค. C++์ ์น๋ช ์ ์ธ ๋จ์ ์ค ํ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ง์ ํ๋ ๋ฐ์ ์์ด์ ๋ฆฌ์คํฌ๋ฅผ ๋ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์๋์ผ๋ก ํด์ฃผ๋ ์ค๋งํธํฌ์ธํฐ๋ก ์ธํด์ ๋ชจ๋ C++์ด ํ์ธต ํ๋ถํด์ก์ต๋๋ค. ์ค๋งํธ ํฌ์ธํฐ๋ ๋ฉ๋ชจ๋ฆฌ ๋์์ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ํฐ ๋์์ ์ฃผ๋ฉฐ, ์์ ๊ด๋ฆฌ๋ฅผ ๋ณด๋ค ์์ ํ๊ฒ ํ๊ณ ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํต๋๋ค. std::unique_ptr std::unique_ptr์ ๋ ์ ์ ์ผ๋ก ์์ ํ๋ ํฌ์ธํฐ๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ์ฒด์ ๋ํด ๋จ์ผ ์์ ๊ถ์ ๊ฐ์ต๋๋ค. ์ฆ, ์ค์ง ํ๋์ std::unique_ptr๋ง์ด ํน์ ๊ฐ์ฒด๋ฅผ ์์ ํ๊ณ , ์ดํ์๋ ํด๋น ๊ฐ์ฒด์ ์์ ๊ถ์ ๋ค๋ฅธ std::unique_ptr๋ก ์ด์ ํ๊ฑฐ๋, ์.. 2023. 8. 5. [C/C++] 10. ํฌ์ธํฐ(feat. ์ค๋งํธ ํฌ์ธํฐ) โ ํฌ์ธํฐ C++์ ์ฅ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ์ ์ผ๋ก ์ ์ดํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ๋ง์ ๊ฐ๋ฐ์์๊ฒ๋ ๋จ์ ์ผ๋ก ๋๊ปด์ง ์ ์๋ค. ๋์ผ๋ก ํคํ ํ์ธํด ๋ณผ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ชป ๊ด๋ฆฌํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์ฃฝ์ด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ์ ์ดํ๋ ๊ฒ์ด ์ข์ ์๋ ์๊ณ ์๋ ์๋ ์์ง๋ง, ํ์คํ ๊ฑด C/C++์ ์ปดํจํฐ์ ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ๋์๊ฐ๋์ง ์๊ธฐ์๋ ์ ํฉํ๋ค๋ ๊ฒ์ด๋ค. ํฌ์ธํฐ๋ ์ฃผ์๋ฅผ ๋ด๊ณ ์๋ ๋ณ์์ด๋ค. 64๋นํธ ์ฒด์ ์์ integer ํ์ ์ ํฌ์ธํฐ ๋ณ์๋ ๋ช์ธ๊ฐ๋ฅผ ๋ฌป๋ ์ง๋ฌธ์ ๋ง์ ๋ถ๋ค์ด 4byte๋ผ๊ณ ๋๋ตํ๋ค. ํฌ์ธํฐ๋ณ์๋ ์ฃผ์๋ฅผ ๋ด๊ณ ์๋ ํฌ์ธํฐ๋ณ์๋ ์ปดํจํฐ์ ์๋(word)์ ๊ฐ๋ค. 8๋นํธ ์ฒด์ ์์๋ 1 ์๋๊ฐ 8๋นํธ=1๋ฐ์ดํธ์ด๋ค. ๋ฐ๋ผ์ 64๋นํธ ์ฒด์ ์์๋ ํ์ ์ด ๋ฌด์์ด๊ฑด ๊ฐ์ ํฌ์ธํฐ ๋ณ์์ ํฌ๊ธฐ๋ 64.. 2023. 4. 26. ์ด์ 1 ๋ค์