INTRO int total {0}; total = 100 + 200; ์ ์ฝ๋์์ total์ ํฌ์ธํฐ๋ก ์ ๊ทผํ ์ ์๋ ๋ณ์ ๊ฐ, L-Value์
๋๋ค. ๊ทธ๋ฆฌ๊ณ total์ ํ ๋น๋๋ 100+200 ์์์ ํฌ์ธํฐ๋ก ์ ๊ทผํ ์ ์๋ R-Value์
๋๋ค. C++์์ ์ด๋ฐ ๊ฐ๋ค์ ์ด๋ฆ์๋ temp value๋ก ์ผ์์ ์ผ๋ก ์ ์ฅ๋์๋ค๊ฐ, total๊ณผ ๊ฐ์ ๊ฐ์ ๋ณต์ฌ ์ ์ฅ๋๊ณ ๋ ๋ค ์ ๊ฑฐ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ์ผ์ด temp value๋ฅผ temp object๋ก๋ง ๋ฐ๋์ด์ ๊ฐ์ฒด์์๋ ๋ฐ์ํฉ๋๋ค. ๋ณต์ฌ ์์ฑ์๋ฅผ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ, ๋ณต์ฌ ์์ฑ์๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํธ์ถํ๊ฒ ๋๋ฉด temporary object๊ฐ ๊ทธ๋งํผ ๋ง์ด ์์ฑ๋ฉ๋๋ค. ๋ฐ๋ฉด ๊ฐ์ฒด๋ ์๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์๊ตฌํฉ๋๋ค. Deep copy๋ฅผ ํํ๋ฉด ๋์ฑ ๋ง์ด ์..
copy constructor
C++ Class ์ Copy Constructor์๋ default copy constructor์ด ์ฌ์ฉํ๋ Shallow Copying๊ณผ Deep Copying์ด ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก๋ ์์ ๋ณต์ฌ, shallow copying์ ์ฌ์ฉํด๋ ๊ด์ฐฎ์ง๋ง, ์์ ๋ณต์ฌ๊ฐ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ๋๊ฐ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํธ์์๋ ๊ฐ๊ฐ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. Shallow Copying - ์์ ๋ณต์ฌ Shallow copy๋ ์ปดํ์ผ๋ฌ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฑํด์ฃผ๋ default copy constructor๊ฐ ํํ๋ ๋ฐฉ๋ฒ์ด๊ธฐ๋ ํฉ๋๋ค. Shallow copying์ ๋ณต์ฌ ๋์์ ๊ฐ์ฒด์ ๋ชจ๋ ์์ฑ์ ์ง๋ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค. ์ฌ๊ธฐ์ ์ฃผ์ํด์ผ ํ ์ ์ ํฌ์ธํฐ๊ฐ ๊ฐ์ฒด์์ ์ฌ์ฉ๋ ๋ ์
๋๋ค. ๋ณต์ฌ์ ๊ณผ์ ์์ ํฌ์ธํฐ๋ ๋ณต์ฌ๋์ง๋ง, ..