C++ ๊ณต๋ถ์ค์ธ๋ฐ ์ค๋งํธ ํฌ์ธํฐ์ ๋ํด์ ๋ฐฐ์ ์ GPTํํ ย ๋ฌผ์ด๋ณด๋ ์ค๋งํธํฌ์ธํฐ ์ฌ์ฉ์ ๊ถ์ฅ๋๋ ์์ค์ด ์๋๋ผ ๊ฑฐ์ ํ์ ์์ค์ด๋ผ๊ณ ํ๋๋ผ
๊ทธ๋์ ๋ด๊ฐ ์ง๊ธ ํ๊ณ ์๋ ํ๋ก์ ํธ์์ ๋ก์ฐ ํฌ์ธํฐ๋ฅผ ์ ๋ถ ์ค๋งํธ ํฌ์ธํฐ๋ก ๋ฐ๊ฟ๋ณด๋ ค๊ณ ํจ
๊ทผ๋ฐ ํ .. ์ธ์ Shared๋ฅผ ์ฐ๊ณ ์ธ์ Weak๋ฅผ ์จ์ผ๋ ์ง ๊ฐ์ด ์ ์์ดย
์ํ์ฐธ์กฐ ์ํฉ์์ ์ฐ์ธ์! ๋ผ๊ณ ๋ ๋ง์ ํ๋๋ฐ ํ๋ก์ ํธ๊ฐ ๋น๋ํด์ง๋ค๋ณด๋ฉด ์์กด์ฑ์ด ์๋ก ๊ธธ๊ฒ ๋ง๋ฌผ๋ ค์ ์ด๊ฒ ์ํ์ฐธ์กฐ์ธ์ง ์๋์ง
๋ผ์ดํ์ธ์ดํด์ ์ ํํ๊ฒ ํ์ ํ๊ธฐ๊ฐ ํ๋ค๋๊ฐ ์์..
๋ด๊ฐ ์ง๊ธ ๊ฐ์ธ์ ์ผ๋ก ํ๋ ํ์ ์ ๋ก์ฐํฌ์ธํฐ๋ง์ฐ๋๋ฐ ์๋ก ์ํ์ฐธ์กฐํ๋ ์ํฉ์ ์์ฃผ ๋ง์ด๋์ด ๋ด๊ฐ ์ ๋ด๋ค์ ์๋ง๊ฒ ์ ํด๊ฒฐํด์ฃผ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ๊ฐ์
์๋ฅผ ๋ค๋ฉด Map์ ๋ง๋ ๋ค ์น์ Map์๋ ๋ฐฉ๋ผ๋ฆฌ ์๋ก ์ด๋ํ ์ ์๋ Node๊ฐ ์์ Node๋ ์๋ก ์ํ์ฐธ์กฐํด์ผ๋จย Node์ ์ผ์ชฝ๋ฐฉ์ด๋ ์ค๋ฅธ์ชฝ ๋ฐฉ์ด ์๋ก ๋๊ตฌ์ธ์ง ์์์ผ๋๊ธฐ ๋๋ฌธ์ ์๋ฃ๊ตฌ์กฐ ์๋ฐฉํฅ๋งํฌ๋ ๋ฆฌ์คํธ๋ ๋น์ทํจย
Node๋ผ๋ฆฌ ๋ง๊ตฌ์ก์ด๋ก ์ํ์ฐธ์กฐํ๊ณ ์๋ ์ํฉ์ด์ง๋ง ๋๋ ์ ๋ด๋ฅผ ์ ์ ํ๊ฒ ํด์ ๊ฐ๋ฅํจย Map์์ ๊ทธ๋ฅ Node๋ค๋ง ๋ค๊ณ ์๊ณ Map์ด ์ฌ๋ผ์ง๋ Node๋ค ํ๋ฒ์ ์น delete์์ผ์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธย ๋ฌผ๋ก Node๋ ์๊ธฐ๊ฐ ์ฌ๋ผ์ง๋ ์๋ฉธ์์์ ๋ค๊ณ ์๋ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ๋ ธ๋ ํฌ์ธํฐ ํด์ ์ํจ
Map์ ์๋ก๋ค์์ง๋ง Scene๊ณผ ๊ทธ Scene์์ ์๋ ์ค๋ธ์ ํธ๋ค๋ ๊ด๊ณ๊ฐ ๋น์ทํจ ์ค๋ธ์ ํธ๋ผ๋ฆฌ ์๋ก ๋ง๊ตฌ์ก์ด๋ก ์ํ์ฐธ์กฐํด๋ ์๋ฉธ์์์ ํฌ์ธํฐ ๋ฉค๋ฒ๋ณ์ ํด์ ๋ฅผ ์ง์ ํ์ง ์๊ณ Scene์ด ๋๋ ๋ ๋ค๊ณ ์๋ ์ค๋ธ์ ํธ๋ค ์ ๋ถ Delete์์ผ์ฃผ๋ฉด ๋๊ธฐ๋๋ฌธย
๋ด๊ฐ ์๊ฐํ ์ค๋งํธ ํฌ์ธํฐ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Delete ์ฑ ์์ด ์๋๊ณณ์ Shared๋ก ๋ฐ๊ฟ์ฃผ๊ณ Delete์ฑ ์์ด ์์ผ๋ฉด weak๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ด ์ข์๋ณด์ธ๋ค๊ณ ์๊ฐํ์ Map์ผ๋ก ์๋ฅผ๋ค๋ฉด Map์ด ๊ฐ์ง๊ณ ์๋ ๋ ธ๋๋ค์ SharedPtr ๋ ธ๋์์ ์ผ์ชฝ๋ ธ๋์ ์ค๋ฅธ์ชฝ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ Weak๋ก ๋ง๋๋ ์์ผ๋ก
ChatGPT๋ ์ด ๋ฐฉ์์ด ๊ด์ฐฎ๋ค๊ณ ๋ ํ๋๋ฐ ํ์ ์ ๋ชปํ๊ฒ ๋ค ๋์ฒ๋ผ ์ค๊ณํด๋ ๊ด์ฐฎ์๊น? ์๋๋ฉด ์ค๋งํธ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ด์ฐฎ์ ์ค๊ณ๋ฐฉ์์ด ๋ ์์?
์ฐธ๊ณ ๋ก ์ธ๋ฆฌ์ผ์์ง์ ํ๋ฒ๋ ์ํด๋ด ์ธ๋ฆฌ์ผ์์ง์ ๊ฑฐ์ ๊ฐ์ ์ ์ผ๋ก ์ค๋งํธํฌ์ธํฐ ์ฐ๊ฒ๋์๋๊ฑฐ๊ฐ๋๋ฐ ์ธ๋ฆฌ์ผ์์ง ๊ฐ์๋ฅผ ๋ค์ด๋ด์ผ๋๋
๊ฐ์ ๋ ฅ์ด ๊ฐํ๊ฒ๋ถํฐ ์ฐ๊ณ ์ฐจ์ธฐ ์ฝํ๊ฑธ๋ก ๋ฐ๊ฟ๊ฐ๋๊ฒ ๋ง๋ค๊ณ ์๊ฐํจ. ์ฐ์ ๋ฌด์กฐ๊ฑด ๋ณต์ฌ ์๋๊ณ ์ง์์ง์ง ์๋ ํฌ์ธํฐ๋ก ํ๋ค๊ฐ, ์ด์ํ ์ค๋ฅ ์๊ธฐ๋ฉด ์ฝํ๊ฑธ๋ก ๋ฐ๊พธ๋ฉด ๋จ. ์ฝ๋ฉ์ค๊ณ๋ฅผ ์ผ๋ง๋ ์ปจํธ๋กค ํ ์์๋์ง ๋ฅ๋ ฅ์น ์๋๊น. ๊ธฐ๋ณธ ํฌ์ธํฐ๋ ๋ฌด์กฐ๊ฑด ํด์ ํด์ผํจ. ์ด๋๋ก ์ฝ๋ฉ์ ์ง๋๋ฐ, ๊ท์ฐฎ๊ฑฐ๋ ํด์ ๋ ์ค๋ฅ๋๋ฉด ์์ด๋, ์์ด๋๋ก ํ๋๋ฐ ๋ฌธ์ ๋๋ฉด ์ ํฌ
๋ญ์ผ ๊ทธ๊ฑฐ ์์ ๋ ธ๊ฐ๋ค์์ ๊ทผ๋ฐ ์ด๊ฑฐ ํ์คํ ๋ฌ๋์ปค๋ธ๊ฐ ์๋๋ฐ ์๋ฌด๋ ์ ๋๋ก ๊ฐ๋ฅด์ณ์ฃผ๋๋ฐ๊ฐ ์๋ค C++๊ฐ์์์๋ ๋ค ์ด๋ฐ๊ฒ ์๋ค์์ผ๋ก๋ง ๊ฐ๋ฅด์ณ์ฃผ๊ณ
์ผ๋จ ๊ทธ๋ผ ๋ด ์๊ฐ๋๋ก ํ๋ฒ ์ค๊ณํด๋ด ์กฐ์ธ ใฑใ
๋ ธ๊ฐ๋ค๋ณด๋ค ๊ณ ๊ธ๋ ์ฉ์ด ๋ฆฌํํ ๋ง ์ด๋ผ๊ณ ํ๋ฉด๋จใ
์ ๋ฐ์์ผ๋ก ๋ฐ๊ฟ๊ฐ๋ฉด์ ์ฝ๋ฉํ์ . ์ ๋ต์ ์๊ณ , ํ๋ ์ฝ๋ฉ ๋ฌธ๋ฒ์ ์ฌ์ฉ์ ์นํ์ ์ผ๋ก ์ ์ ๋ฐ์ ํ๋ค๊ณ ๋ณด๋ฉด๋จ. ์ค๋งํธํฌ์ธํฐ๊ฐ ๋์จ์ด์ ๊ฐ ์ฝ๋ฉ๋ฉ์น์ปค์ง๊ณ ๋จ์ด์ง ๊ฒ๋ค ๋ด๊ฐ ํ์ธํ๊ธฐ ์ด๋ ค์ฐ๋๊น ๊ทธ๊ฒ๋ง์ ๊ด๋ฆฌํด์ฃผ๋ ์ฐจ์์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ, ํผ์์งค๋๋ ๊ฐ์ด ์์ค๋๊ฒ ๋ง์
์ค๊ณ๋ฐฉ์์ด ๋ ์๋? ํ๋จ์ ๋ณธ์ธ์ด ํด์ผํจ. ์ฝ๋ฉ ์คํ์ผ์ด ๋ฌ๋ผ์ ๋ฑ ๋งํด์ค์๊ฐ ์๋ค. ๊ทธ๋๋ง ๊ธฐ์ค์ ์ ๋๋ฒ๊น ํธํ๊ฒ, ํ๋ก๊ทธ๋จ ์ง์์์ผฐ์๋ ์์ฃฝ๊ฒ. ์ด๊ฑฐ๋ผ๊ณ ์๊ฐํจ
์ค๋งํธ ํฌ์ธํฐ๋ฅผ ํ์์ ์ผ๋ก ์ด๋ค๊ณ ? ๋ด๊ฐ ๋ฐฐ์ ๋๊ฑฐ๋๋ค๋ฅธ๋ฐ ์์ง ํ๋ฐ ํน์๊ฒฝ์ฐ๋นผ๊ณค ํด๋ผ์์๋ ๊ถ์ฅ๋์ง์์. - dc App