์Šค๋งˆํŠธ ํฌ์ธํ„ฐ๋ž€
ยท
๊ณต๋ถ€/Cใ†C++
1. shared_ptr - ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋ฅผ ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ํฌ์ธํ„ฐ๊ฐ€ ์ฐธ์กฐ๊ฐ€ ๊ฐ€๋Šฅ - ์ฐธ์กฐํ•˜๋Š” ๊ณผ์ •์—์„œ count๋ฅผ ํ•จ - ์„œ๋กœ๋ฅผ ์ฐธ์กฐํ•ด์•ผํ•  ๊ฒฝ์šฐ(์—ฌ๋Ÿฌ๋ช…์ด์„œ ๊ฐ™์€ ์ •๋ณด ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ) - ๋‹จ, ์ˆœํ™˜ ์ฐธ์กฐ๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Œ 2. unique_ptr - ํ•œ ํฌ์ธํ„ฐ๋‹น ํ•œ ์š”์†Œ๋งŒ์„ ๊ฐ€๋ฆฌํ‚ด - ์ผ๋ฐ˜์ ์ธ ๋Œ€์ž… ์—ฐ์‚ฐ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ move ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์†Œ์œ ๊ถŒ์„ ๋„˜๊ฒจ์ฃผ๋Š”๊ฒƒ์€ ๊ฐ€๋Šฅ(์†Œ์œ ๊ถŒ์„ ๋„˜๊ฒจ์ฃผ๋ฉด ์›๋ณธ ํฌ์ธ ํ„ฐ๋Š” NULL๋กœ ์„ค์ •๋จ) - NULL์ด ์•„๋‹Œ unique_ptr์€ ํ•ญ์ƒ ์ž์‹ ์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์†Œ๋ฉธ ์‹œ ์ž์‹ ์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ์ž์›์„ ํŒŒ๊ดดํ•จ - ํŒฉํ† ๋ฆฌ ํ•จ์ˆ˜์—์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ๋จ - ์†Œ์œ ๊ถŒ ๋…์  ์ž์› ๊ด€๋ฆฌ์— ์‚ฌ์šฉํ•˜์ž 3. weak_ptr - ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋ฅผ ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ํฌ์ธํ„ฐ๊ฐ€ ์ฐธ์กฐ ๊ฐ€๋Šฅ - count๋ฅผ..