22. [C++] ํ
ํ๋ฆฟ (Template)
ํ
ํ๋ฆฟ (Template) ์๋ฃํ์ ์ฝ๋งค์ด์ง ์๊ณ ๋ชจ๋ ํธํํธ๋๋ก ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ฒ ๋์์ฃผ๋ C++ ๊ธฐ๋ฅ. 1. ํจ์ ํ
ํ๋ฆฟ ํจ์ ํ
ํ๋ฆฟ์ ํจ์๋ฅผ ๋ง๋ค์ด ๋ธ๋ค. ํจ์์ ๊ธฐ๋ฅ์ ๊ฒฐ์ ๋์ด ์์ง๋ง, ์๋ฃํ์ ๊ฒฐ์ ๋์ด์์ง ์๋ค. ๋์ค์ T๋ฅผ ๋์ ํด์ ์ค์ ์๋ฃํ์ ๊ฒฐ์ ํด์ผํ๋ค. (typename์ ๋์ ํด์ class๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค. T๋ผ๋ ๋ฌธ์ ๋์ ๋ค๋ฅธ ๋ฌธ์๋ฅผ ์ฌ์ฉํด๋ ๋๋ค.) ์์ ๋ณด์ธ ๋ค์์ ์ ์๋ฅผ ๊ฐ๋ฆฌ์ผ 'ํจ์ ํ
ํ๋ฆฟ(funtion template)'์ด๋ผ ํ๋ค. ๋ฐ๋ฉด, ์์ ํ
ํ๋ฆฟ์ ๊ธฐ๋ฐ์ผ๋ก ์ปดํ์ผ๋ฌ๊ฐ ๋ง๋ค์ด ๋ด๋ ํจ์๋ค์ 'ํ
ํ๋ฆฟ ํจ์(template funtion)'์ด๋ผ ํ๋ค. int Add(int a, int b) { return a+b; } 2. ๋ ๊ฐ ์ด์์ typename ์ง์ ํ
ํ๋ฆฟ์..
2019.06.18