SlideShare a Scribd company logo
1 of 32
Download to read offline
ํ•ญ๋ชฉ 41 : ํ…œํ”Œ๋ฆฟ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ฒœ๋ฆฟ๊ธธ๋„ ์•”์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ปดํŒŒ์ผ ํƒ€์ž„ ๋‹คํ˜•์„ฑ๋ถ€ํ„ฐ
ํด๋ž˜์Šค์™€ ํ…œํ”Œ๋ฆฟ์€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹คํ˜•์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ๊ทธ ํŠน์„ฑ์ด ๋‹ค๋ฅด๋‹ค.
ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ™•์ธ์ด ๋˜๋Š” ๋ช…์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ
ํ…œํ”Œ๋ฆฟ์˜ ๊ฒฝ์šฐ ์ •์˜๋œ typename์ด ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ํ‘œํ˜„์‹์˜ ์กฐ๊ฑด๋งŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์•”์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณต
ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ ๋‹คํ˜•์„ฑ์— ์žˆ์–ด์„œ ๋Ÿฐํƒ€์ž„ ์‹œ์— ํ•จ์ˆ˜ ํ…Œ์ด๋ธ”์„ ํ†ตํ•ด ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๊ฐ€ ์ •ํ•ด์ง€๋Š” ๋Ÿฐํƒ€์ž„ ๋‹คํ˜•์„ฑ์„,
ํ…œํ”Œ๋ฆฟ์˜ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋  ํ•จ์ˆ˜๊ฐ€ ์ปดํŒŒ์ผ ์‹œ์— ๊ฒฐ์ •๋˜๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„ ๋‹คํ˜•์„ฑ์„ ์ œ๊ณต
ํ•ญ๋ชฉ 42 : typename์˜ ๋‘ ๊ฐ€์ง€ ์˜๋ฏธ๋ฅผ ์ œ๋Œ€๋กœ ํŒŒ์•…ํ•˜์ž
๊ธฐ๋ณธ์ ์œผ๋กœ ํ…œํ”Œ๋ฆฟ์—์„œ ์‚ฌ์šฉํ•˜๋Š” class์™€ typename์—๋Š” ์ฐจ์ด๊ฐ€ ์—†๋‹ค.
ํ•˜์ง€๋งŒ typename์„ ์จ์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ ๊ฒฝ์šฐ๋Š” ํ…œํ”Œ๋ฆฟ ์•ˆ์—์„œ ์ค‘์ฒฉ์˜์กด์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ๋•Œ
์ค‘์ฒฉ์˜์กด์ด๋ฆ„์ด๋ž€ C::iterator ์™€ ๊ฐ™์ด C๋ผ๋Š” ํ…œํ”Œ๋ฆฟ์—์„œ ์„ ์–ธ๋œ ํƒ€์ž…์— ์˜์กดํ•ด์„œ ::iterator๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
ํ•˜์ง€๋งŒ typename์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋Š”๋ฐ
์ƒ์†๋˜๋Š” ๊ธฐ๋ณธ ํด๋ž˜์Šค ๋ฆฌ์ŠคํŠธ์—์„œ์™€ ๋ฉค๋ฒ„ ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ ์•ˆ์—์„œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
์ฐธ๊ณ ๋กœ ์ด๋ ‡๊ฒŒ ์ค‘์ฒฉ์˜์กด์ด๋ฆ„์˜ ๊ฒฝ์šฐ ์ž์—ฐ์Šค๋ ˆ ์ด๋ฆ„์ž์ฒด๊ฐ€ ๊ธธ์–ด์ง€๊ณ  ์•ž์— typename๊นŒ์ง€ ๋ถ™์—ฌ์„œ ์จ์•ผ ํ•˜๋ฏ€๋กœ
๊ฐ„๋‹จํ•˜๊ฒŒ typedef๋กœ ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ•˜๋‹ค.
ํ•ญ๋ชฉ 43 : ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ธฐ๋ณธ ํด๋ž˜์Šค ์•ˆ์˜ ์ด๋ฆ„์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„ ๋‘์ž
ํ…œํ”Œ๋ฆฟ์€ ํŠน์ • ํƒ€์ž…์— ๋Œ€ํ•ด์„œ๋งŒ ๋‹ค๋ฅธ ๋™์ž‘์„ ํ•˜๋Š” ๋ฒ„์ „์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ  ์ด๋ฅผ ์™„์ „ ํ…œํ”Œ๋ฆฟ ํŠน์ˆ˜ํ™”๋ผ ํ•œ๋‹ค.
ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค๋ฅผ ์ƒ์† ๋ฐ›๋Š” ๊ฒฝ์šฐ ํŠน์ˆ˜ํ™”๋œ ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ
์ƒ์† ๋ฐ›์€ ํด๋ž˜์Šค์—์„œ ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค์˜ ํŠน์ • ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๋ณด์žฅ์„ ํ•  ์ˆ˜ ์—†๋‹ค.
๊ทธ๋ž˜์„œ ํ…œํ”Œ๋ฆฟ์„ ์ƒ์†๋ฐ›์•„์„œ ๊ธฐ๋ณธ ํด๋ž˜์Šค์— ์žˆ๋Š” ํŠน์ • ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด
ํ•จ์ˆ˜ ํ˜ธ์ถœ ์•ž์— this-> ๋ฅผ ๋ถ™์ด๊ฑฐ๋‚˜
using namespace template<class>::function; ๊ฐ™์ด ์œ ํšจ ๋ฒ”์œ„๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
๋งŒ์•ฝ ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ์œ„์˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ•ญ๋ชฉ 44 : ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋…๋ฆฝ์ ์ธ ์ฝ”๋“œ๋Š” ํ…œํ”Œ๋ฆฟ์œผ๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌ์‹œํ‚ค์ž
ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค์—์„œ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ์‚ฌ์‹ค์ƒ ๊ฐ™์€ ํ•จ์ˆ˜๋ผ๋„ ๊ฐ๊ฐ์˜ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋”ฐ๋กœ ์ƒ์„ฑ๋œ๋‹ค.
์ด๋Š” ์ž์นซ ํ•˜๋Š” ์ผ์€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ์ผ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋ž˜์„œ ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค ์•ˆ์—์„œ ์ •์˜๋œ ํ•จ์ˆ˜๋“ค ๊ฐ€์šด๋ฐ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์— ์˜์กด์ ์ด์ง€ ์•Š์€ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ์—๋Š”
์™ธ๋ถ€๋กœ ๋ถ„๋ฆฌํ•ด์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ด์„œ ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ๊ณตํ†ต๋œ ์ž‘์—…์„ ํ•˜๋Š” ๊ธฐ๋ณธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ 
์ด๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค๊ฐ€ ์ž‘์—…์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์˜ ํฌ์ธํ„ฐ๋ฅผ ๊ธฐ๋ณธ ํด๋ž˜์Šค๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ํ•œ ๋‹ค์Œ
๊ธฐ๋ณธ ํด๋ž˜์Šค์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
ํ•˜์ง€๋งŒ ํƒ€์ž…์— ๋”ฐ๋ผ ๋”ฐ๋กœ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹๊ณผ ๋น„๊ตํ•˜๋ฉด ์ตœ์ ํ™”๋ผ๋Š” ์ธก๋ฉด์—์„œ ์ด ๋ฐฉ๋ฒ•์€ ์•ฝ๊ฐ„์˜ ์†ํ•ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ์‹คํ–‰ ์ฝ”๋“œ๊ฐ€ ์ž‘์•„์ง์œผ๋กœ์จ ํŽ˜์ด์ง€ ํดํŠธ์˜ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์ƒ๊ธฐ๋ฉฐ ์–ด๋Š ๊ฒƒ์ด ์ด๋“์ธ์ง€๋Š” ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.
ํ•ญ๋ชฉ 45 : โ€œํ˜ธํ™˜๋˜๋Š” ๋ชจ๋“  ํƒ€์ž…โ€์„ ๋ฐ›์•„๋“ค์ด๋Š” ๋ฐ๋Š” ๋ฉค๋ฒ„ ํ•จ์ˆ˜ ํ…œํ”Œ๋ฆฟ์ด ์ง๋ฐฉ!
๊ฐ™์€ ํ…œํ”Œ๋ฆฟ์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด๋ผ ํ•˜๋”๋ผ๋„ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ๊ทธ ๊ฐ์ฒด๋“ค์€ ์•„์˜ˆ ๋‹ค๋ฅธ ์กด์žฌ๋“ค์ด ๋œ๋‹ค.
๊ทธ๋ž˜์„œ ์ด๋“ค ์‚ฌ์ด์—์„œ ํ˜•๋ณ€ํ™˜์„ ํ•˜๋ ค๋ฉด ์ง์ ‘ ์ •์˜ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
ํ•˜์ง€๋งŒ ์›์น™์ ์œผ๋กœ ํ…œํ”Œ๋ฆฟ์˜ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” โ€œ๋ฌด์—‡์ด๋“ โ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ •์˜ํ•ด ์ฃผ์–ด์•ผ ํ•  ํ•จ์ˆ˜๋Š” ๋ฌดํ•œ๋Œ€๊ฐ€ ๋œ๋‹ค.
๊ทธ๋ž˜์„œ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฌดํ•œ๋Œ€์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜๋ฅผ ๋‚ด๋ถ€ ํ•จ์ˆ˜๋กœ ๋‹ค์‹œ ์ด์šฉํ•œ๋‹ค.
ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ์—๋Š” ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๋”ฐ๋ผ์„œ ํ˜•๋ณ€ํ™˜์˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ์„œ ๊ทธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ์•ฝ์กฐ๊ฑด์„ ๋งŒ๋“ค์–ด ๋‘์–ด์•ผ ํ•œ๋‹ค.
์ด๋Ÿฐ ๋ฐฉ์‹์˜ ์ ‘๊ทผ์€ ์ƒ์„ฑ์ž ๋ฐ ๋Œ€์ž… ์—ฐ์‚ฐ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ
๋Œ€์ž… ์—ฐ์‚ฐ์—์„œ ์ฃผ์˜ํ•  ์ ์€ ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜๋กœ ๋Œ€์ž… ์—ฐ์‚ฐ์„ ์ •์˜ํ•œ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๊ธฐ๋ณธ ๋Œ€์ž… ์—ฐ์‚ฐ์ด ์„ ์–ธ ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด
์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ด๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ธฐ๋ณธ ๋Œ€์ž… ์—ฐ์‚ฐ๋„ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ์ •์˜ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
ํ•ญ๋ชฉ 46 : ํƒ€์ž… ๋ณ€ํ™˜์ด ๋ฐ”๋žŒ์งํ•œ ๊ฒฝ์šฐ์—๋Š” ๋น„๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ํด๋ž˜์Šค ํ…œํ”Œ๋ฆฟ ์•ˆ์— ์ •์˜ํ•ด ๋‘์ž
ํ…œํ”Œ๋ฆฟ ์ธ์ž ์ถ”๋ก  ๊ณผ์ •์—์„œ๋Š” ์•”์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค.
์ด๋Ÿฐ ํŠน์ง•์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ํด๋ž˜์Šค ์™ธ๋ถ€์— ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋‘๊ณ 
ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค ์•ˆ์—์„œ ์ด ํ•จ์ˆ˜๋ฅผ ํ”„๋ Œ๋“œ ํด๋ž˜์Šค๋กœ ๋“ฑ๋กํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
์ด๋•Œ ํ”„๋ Œ๋“œ ํ•จ์ˆ˜๋ฅผ ๋“ฑ๋กํ•  ๋•Œ๋Š” ์„ ์–ธ๋งŒ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ •์˜๊นŒ์ง€ ํ•˜๊ฑฐ๋‚˜ ์™ธ๋ถ€์˜ ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.
ํ•ญ๋ชฉ 47 : ํƒ€์ž…์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ํŠน์„ฑ์ •๋ณด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ž
ํ…œํ”Œ๋ฆฟ์€ ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์—‡์ด๋“  ๊ฐ€๋ฆฌ์ง€ ์•Š์œผ๋ฏ€๋กœ
๊ตฌํ˜„ ๊ณผ์ •์—์„œ ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋™์ž‘์„ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๊ทธ ํƒ€์ž…์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
์ด๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŠน์„ฑ์ •๋ณด ํด๋ž˜์Šค์ด๋‹ค.
๋ฐ”๋กœ ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ํŠน์„ฑ์„ ํ™•์ธํ•˜๊ณ , ๊ทธ ํŠน์„ฑ์— ๋งž๋Š” ์ž‘๋™์„ ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋•Œ ํ…œํ”Œ๋ฆฟ์€ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ๊ตฌํ˜„๋œ๋‹ค๋Š” ์ ์„ ์ด์šฉํ•ด์„œ ์ด ํŠน์„ฑ ํ™•์ธ์„ ๋Ÿฐํƒ€์ž„์— ํ•˜์ง€ ์•Š๊ณ 
์ปดํŒŒ์ผ ํƒ€์ž„์— ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ๋•Œ์˜ ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.
ํ•ญ๋ชฉ 48 : ํ…œํ”Œ๋ฆฟ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ํ•˜์ง€ ์•Š๊ฒ ๋Š”๊ฐ€?
ํ…œํ”Œ๋ฆฟ์ด C++์— ์ถ”๊ฐ€๋˜๋ฉด์„œ ์ด ํ…œํ”Œ๋ฆฟ์„ ์ด์šฉํ•œ ๋‹ค์–‘ํ•œ ๊ฐ€๋Šฅ์„ฑ์„ ๋ฐœ๊ตด๋˜์—ˆ๋Š”๋ฐ,
์ด ๊ฐ€๋Šฅ์„ฑ์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ…œํ”Œ๋ฆฟ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค.
ํ…œํ”Œ๋ฆฟ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์žฅ์ ์€ ๋Ÿฐํƒ€์ž„ ์‹œ์— ํ•ด์•ผ ํ•  ์ž‘์—…์„ ์ปดํŒŒ์ผ ์ž‘์—… ๊ณผ์ •์œผ๋กœ ๊ฐ€์ ธ์™€์„œ
์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์‹คํ–‰๋˜๋Š” ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๊ณผ
๋งˆ์น˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ™์ด ๊ธฐ์กด์˜ C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ๋Š” ํ•˜๊ธฐ ์–ด๋ ค์šด ์ž‘์—…๋“ค์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ด ์žˆ๋‹ค.
ํ•ญ๋ชฉ 49 : new ์ฒ˜๋ฆฌ์ž์˜ ๋™์ž‘ ์›๋ฆฌ๋Š” ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ž
new์˜ ๊ธฐ๋ณธ์ ์ธ ์—ญํ• ์€ ํ•„์š”ํ•œ ๊ณต๊ฐ„๋งŒํผ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๊ณ ,
์ด ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
ํ•˜์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๋Š”๋ฐ(์•ˆ ๋˜์ง€๋Š” new๋„ ์žˆ๋‹ค) ์ด ์—๋Ÿฌ ์ฒ˜๋ฆฌ ํ•จ์ˆ˜๋ฅผ new-handler๋ผ๊ณ  ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด new-handler๋Š” ์ง์ ‘ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ๋ฐ”๊ฟ” ์ค„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ set_new_handler ํ•จ์ˆ˜์ด๋‹ค.
์ด ํ•จ์ˆ˜์˜ ํŠน์ง•์€ ์ธ์ž๋กœ ๋„ฃ์€ ์ƒˆ๋กœ์šด new_handler๋ฅผ new์˜ new-handler๋กœ ๋“ฑ๋กํ•˜๊ณ 
๊ธฐ์กด์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” new-handler๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์˜ˆ์™ธ๋ฅผ ๋˜์ง€์ง€ ์•Š๋Š” new์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋Š”๋ฐ, ์•„๋ฌด๋ฆฌ new์—์„œ ์˜ˆ์™ธ๋ฅผ ๋˜์ง€์ง€ ์•Š๋”๋ผ๊ณ 
new๋กœ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ณผ์ •์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
new๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ ๋„ค ๊ฐ€์ง€ ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ˜๋“œ์‹œ ํ•ด์•ผ ํ•œ๋‹ค.
์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ๋งŽ์ด ํ™•๋ณดํ•œ๋‹ค.
- ํ˜„์žฌ ์ž‘์—… ์ดํ›„์— ๋ฉ”๋ชจ๋ฆฌ ํ™•๋ณด๋ฅผ ๋” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ
๋‹ค๋ฅธ new ์ฒ˜๋ฆฌ์ž๋ฅผ ์„ค์น˜ํ•œ๋‹ค.
- ๋งŒ์•ฝ ์ž์‹ ์ด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ์‹คํŒจํ•œ๋‹ค๋ฉด, ์ด ์‹คํŒจ๋ฅผ ํ•ด๊ฒฐํ•ด ์ค„ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ new ์ฒ˜๋ฆฌ์ž๋ฅผ ๋ถˆ๋Ÿฌ์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น
new ์ฒ˜๋ฆฌ์ž์˜ ์„ค์น˜๋ฅผ ์ œ๊ฑฐ
- set_new_handler์— ๋„ ํฌ์ธํ„ฐ๋ฅผ ํ• ๋‹นํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ์‹คํŒจํ•˜๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๊ฒŒ ํ•œ๋‹ค
์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค.
- bad_alloc ํ˜น์€ ๊ทธ๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋œ ์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค. ๊ทธ๋Ÿผ new์—์„œ๋Š” ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ ์ฒ˜์Œ ๋ฉ”๋ชจ๋ฆฌ ์š”์ฒญํ•œ ๊ณณ๊นŒ์ง€ ๋„๋‹ฌ
๋ณต๊ท€ํ•˜์ง€ ์•Š๋Š”๋‹ค
- abort๋‚˜ exit๋ฅผ ํ˜ธ์ถœ
ํ•ญ๋ชฉ 50 : new ๋ฐ delete๋ฅผ ์–ธ์ œ ๋ฐ”๊ฟ”์•ผ ์ข‹์€ ์†Œ๋ฆฌ๋ฅผ ๋“ค์„์ง€๋ฅผ ํŒŒ์•…ํ•ด ๋‘์ž
new๋‚˜ delete๋Š” C++์˜ ๋ณดํŽธ์ ์ธ ์š”๊ตฌ๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๊ตฌํ˜„์ด ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ๋งž์ถฐ์„œ ์ƒˆ๋กญ๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ์„ฑ๋Šฅ์ ์œผ๋กœ ์ด๋“์„ ๋ณผ ์ˆ˜ ์žˆ์„ ํ™•๋ฅ ์ด ๋†’๋‹ค.
์ž˜๋ชป ๋œ ํž™ ์‚ฌ์šฉ์„ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด
- ํ• ๋‹ฌ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ์•ž ๋’ค๋กœ ํ™•์ธ ๋น„ํŠธ๋ฅผ ์‚ฝ์ž…
๋™์  ํ• ๋‹น ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹ค์ œ ์‚ฌ์šฉ์— ๊ด€ํ•œ ํ†ต๊ณ„ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘
- new๋‚˜ delete ์•ˆ์— ํ†ต๊ณ„ ์ˆ˜์ง‘ ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ๋„ฃ๋Š”๋‹ค.
ํ• ๋‹น ๋ฐ ํ•ด์ œ ์†๋ ฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด
- ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฏธ๋ฆฌ pool์„ ์ƒ์„ฑํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น ๋ฐ›์•„๋‘๊ณ , ์ด pool์˜ ์ฃผ์†Œ๋“ค์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
- easy game server ์˜ object pool ์ด ์ด ๋ฐฉ์‹
๊ธฐ๋ณธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž์˜ ๊ณต๊ฐ„ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด
- ์•„๋ฌด๋ž˜๋„ ๋ฒ”์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๋Š” ๋ฒ”์šฉ์„ฑ์„ ์œ„ํ•ด ์†๋„๋Š” ๋ฌผ๋ก ์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋„ ๋” ์žก์•„ ๋จน๋Š”๋‹ค.
- ์ด๋ฅผ ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ ์ž‘๋™ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๋ฉด ์ด๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
์ ๋‹นํžˆ ํƒ€ํ˜‘ํ•œ ๊ธฐ๋ณธ ํ• ๋‹น์ž์˜ ๋ฐ”์ดํŠธ ์ •๋ ฌ ๋™์ž‘์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด
- ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜์— ๋”ฐ๋ผ์„œ ๋ฐ”์ดํŠธ ์ •๋ ฌ์„ ๋‹ค๋ฅด๊ฒŒ ํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅํ–ฅ์ƒ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
์ž„์˜์˜ ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋“ค์„ ํ•œ ๊ตฐ๋ฐ์— ๋‚˜๋ž€ํžˆ ๋ชจ์•„ ๋†“๊ธฐ ์œ„ํ•ด
- ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋“ค์„ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ์ด๋“ค์„ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ์— ๋‘๋ฉด ํŽ˜์ด์ง€ ํดํŠธ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
- easy game server ์˜ object pool ์ด ์ด ๋ฐฉ์‹
๊ทธ๋•Œ๊ทธ๋•Œ ์›ํ•˜๋Š” ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด
- ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์›ํ•˜๋Š” ๋™์ž‘์„ new ๋‚˜ delete ๊ฐ€ ํ•ด์ฃผ๊ธธ ์›ํ•˜๋ฉด ์ด ๋™์ž‘์„ ํฌํ•จํ•˜๋„๋ก ์ง์ ‘ ๊ตฌํ˜„
ํ•ญ๋ชฉ 51 : new ๋ฐ delete๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋”ฐ๋ผ์•ผ ํ•  ๊ธฐ์กด์˜ ๊ด€๋ก€๋ฅผ ์ž˜ ์•Œ์•„ ๋‘์ž
new๋‚˜ delete๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ ํ•  ๋•Œ, ๊ธฐ์กด์— ์ด ํ•จ์ˆ˜๋“ค์ด ๋”ฐ๋ฅด๋˜ ๊ด€๋ก€๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
new์˜ ๊ฒฝ์šฐ์—๋Š”
์ตœ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๋ฅผ ๋ฌดํ•œ ๋ฃจํ”„๋กœ ๋งŒ๋“ ๋‹ค.
๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ๋ชปํ•˜๋ฉด new-handler๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•œ๋‹ค.
0๋ฐ”์ดํŠธ์— ๋Œ€ํ•œ ์š”๊ตฌ๋ฅผ ๋งŒ์กฑํ•ด์•ผ ํ•˜๋Š”๋ฐ โ€“ ์ผ๋ฐ˜์ ์œผ๋กœ 1๋ฐ”์ดํŠธ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜
ํด๋ž˜์Šค ์ „์šฉ ๋ฒ„์ „์—์„œ๋Š” ์˜ˆ์ •๋œ ํฌ๊ธฐ๋ณด๋‹ค ํฐ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ์š”๊ตฌ ๋ฐ›์„ ๋•Œ ์ ๋‹นํžˆ ์ฒ˜๋ฆฌํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
delete์˜ ๊ฒฝ์šฐ์—๋Š”
๋„ ํฌ์ธํ„ฐ๋ฅผ ํ•ด์ œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋ฉฐ
ํด๋ž˜์Šค ์ „์šฉ ๋ฒ„์ „์ธ ๊ฒฝ์šฐ์—๋Š” ์˜ˆ์ •๋ณด๋‹ค ํฐ ๋ธ”๋ก์„ ํ•ด์ œ ๋ฐ›๊ธธ ์š”๊ตฌ ๋ฐ›์„ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค โ€“ ํ‘œ์ค€ delete๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋“ฑ
ํ•ญ๋ชฉ 52 : ์œ„์น˜ ์ง€์ • new๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋ฉด ์œ„์น˜์ง€์ • delete๋„ ๊ฐ™์ด ์ค€๋น„ํ•˜์ž.
์œ„์น˜ ์ง€์ • new๋Š” ๋‹จ์–ด์—์„œ ์œ ์ถ”ํ•˜๋Š” ๋‚ด์šฉ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์‹ค์ œ๋กœ๋Š” ์ถ”๊ฐ€์ ์ธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๋Š” ํ˜•ํƒœ์˜ new๋ฅผ ๋งํ•œ๋‹ค.
๋ฌธ์ œ๋Š” ์ด๋Ÿฐ new์˜ ๊ฒฝ์šฐ์—๋Š” new ์ž‘์—…์„ ์„ฑ๊ณตํ•˜๊ณ 
๊ฐ์ฒด๋ฅผ ๊ทธ ๋ฉ”๋ชจ๋ฆฌ์— ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ์— ํ•„์š”ํ•œ ๋Œ€์‘์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ ์ด์œ ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ์ •์—์„œ ์˜ˆ์™ธ๋ฅผ ํ™•์ธํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•œ new์— ๋Œ€์‘๋˜๋Š” delete๋กœ ๊ทธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ทธ๋Ÿฌ๋ฏ€๋กœ ์œ„์น˜ ์ง€์ • new๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด ์ด์™€ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” delete๋ฅผ ๋งŒ๋“ค์–ด ๋‘์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์ฃผ์˜ํ•  ์ ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ •์˜ํ•œ new๊ฐ€ ๊ธฐ์กด์˜ ํ‘œ์ค€ ํ˜•ํƒœ new๋ฅผ ๊ฐ€๋ฆฌ์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ๊ฐ์˜ ํ‘œ์ค€ํ˜• new ํ˜•ํƒœ์˜ ํ•จ์ˆ˜๋ฅผ ์ƒˆ๋กœ ์„ ์–ธํ•˜๊ณ , ๊ทธ ๋‚ด๋ถ€์—์„œ ํ‘œ์ค€ํ˜• new๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก ํ•œ๋‹ค.
ํ•ญ๋ชฉ 53 : ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ฒฝ๊ณ ๋ฅผ ์ง€๋‚˜์น˜์ง€ ๋ง์ž.
์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฒฝ๊ณ ๋ฅผ ํ•˜๋Š” ๊ฒƒ์—๋Š” ๋‹ค ์ด์œ ๊ฐ€ ์žˆ๋‹ค.
๋ฌด์‹œํ•˜์ง€ ๋ง์ž.
๊ฒฝ๊ณ  ์ˆ˜์ค€์„ ์ตœ๋Œ€๋กœ ๋‘๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•
ํ•˜์ง€๋งŒ ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ฒฝ๊ณ ๋งŒ ๋ฏฟ์–ด์„œ๋„ ์•ˆ ๋œ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ ๋ณ„๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ๊ณ ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.
๊ฒฐ๊ตญ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž˜ํ•ด์•ผ ๋œ๋‹ค.
ํ•ญ๋ชฉ 54 : TR1์„ ํฌํ•จํ•œ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ์™€ ํŽธ์•ˆํ•œ ์นœ๊ตฌ๊ฐ€ ๋˜์ž.
TR1์€ ์ผ์ข…์˜ ์ž…๋ฒ• ์˜ˆ๊ณ ์™€ ๊ฐ™์€ ๊ฒƒ - ์•ž์œผ๋กœ C++์— ํ‘œ์ค€์œผ๋กœ ์ฑ„์šฉ๋  ๋‚ด์šฉ๋“ค
๊ทธ ๋‚ด์šฉ์—๋Š” ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ๋‚˜ ์ •๊ทœํ‘œํ˜„์‹๊ณผ ๊ฐ™์€ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ์ด ์žˆ๋‹ค.
์ฃผ์˜ ํ•  ๊ฒƒ์€ TR1์€ ์–ด๋””๊นŒ์ง€๋‚˜ ๋ช…์„ธ์ผ ๋ฟ ๊ตฌํ˜„์ด ์•„๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด๋Ÿฐ ๋ช…์„ธ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๊ตฌํ˜„์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.
(์ง€๊ธˆ์€ C++12๊ฐ€ ๋‚˜์™”์œผ๋‹ˆ ์ข€ ๋‹ค๋ฅธ ์ด์•ผ๊ธฐ๊ฐ€ ๋˜๋ ค๋‚˜)
ํ•ญ๋ชฉ 55 : Booๅญๆœ‰่ฆช! ๋ถ€์ŠคํŠธ๋ฅผ ๋Š˜ ์—ฌ๋Ÿฌ๋ถ„ ๊ฐ€๊นŒ์ด์—
๋ถ€์ŠคํŠธ๋Š” C++์— ๊ฐ•๋ ฅํ•œ ์˜ํ–ฅ๋ ฅ์„ ๊ฐ€์ง€๋Š” C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ œ์ž‘ ๋‹จ์ฒด
์ฒด๊ณ„์ ์ธ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ฌด๋ฃŒ์ธ ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ œ๊ณต
ํ‘œ์ค€์— ์ฑ„์šฉ๋˜์ง€ ์•Š์€ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ์œผ๋ฏ€๋กœ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹๋‹ค.

More Related Content

What's hot

7 8 1
7 8 17 8 1
7 8 1nexthw
ย 
5 6 1
5 6 15 6 1
5 6 1nexthw
ย 
[Toolcon2014] WebStorm์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ
[Toolcon2014] WebStorm์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ[Toolcon2014] WebStorm์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ
[Toolcon2014] WebStorm์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ์šฐ์˜ ์ฃผ
ย 
์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€์ด๋“œ
์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€์ด๋“œ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€์ด๋“œ
์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€์ด๋“œ๋„ํ˜• ์ž„
ย 
์ดํŽ™ํ‹ฐ๋ธŒ C++ (7~9)
์ดํŽ™ํ‹ฐ๋ธŒ C++ (7~9)์ดํŽ™ํ‹ฐ๋ธŒ C++ (7~9)
์ดํŽ™ํ‹ฐ๋ธŒ C++ (7~9)์ต์„ฑ ์กฐ
ย 
Effective c++ chapter7_8_9_dcshin
Effective c++ chapter7_8_9_dcshinEffective c++ chapter7_8_9_dcshin
Effective c++ chapter7_8_9_dcshinDong Chan Shin
ย 
[Osxdev]4.swift
[Osxdev]4.swift[Osxdev]4.swift
[Osxdev]4.swiftNAVER D2
ย 
แ„‹แ…ตแ†ฐแ„€แ…ต แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซ แ„แ…ฉแ„ƒแ…ณแ„€แ…ก แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„แ…ฉแ„ƒแ…ณแ„ƒแ…ก
แ„‹แ…ตแ†ฐแ„€แ…ต แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซ แ„แ…ฉแ„ƒแ…ณแ„€แ…ก แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„แ…ฉแ„ƒแ…ณแ„ƒแ…กแ„‹แ…ตแ†ฐแ„€แ…ต แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซ แ„แ…ฉแ„ƒแ…ณแ„€แ…ก แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„แ…ฉแ„ƒแ…ณแ„ƒแ…ก
แ„‹แ…ตแ†ฐแ„€แ…ต แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซ แ„แ…ฉแ„ƒแ…ณแ„€แ…ก แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„แ…ฉแ„ƒแ…ณแ„ƒแ…กwonmin lee
ย 
[1B1]์Šค์œ„ํ”„ํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด
[1B1]์Šค์œ„ํ”„ํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด[1B1]์Šค์œ„ํ”„ํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด
[1B1]์Šค์œ„ํ”„ํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ดNAVER D2
ย 
More effective c++ chapter1 2_dcshin
More effective c++ chapter1 2_dcshinMore effective c++ chapter1 2_dcshin
More effective c++ chapter1 2_dcshinDong Chan Shin
ย 
๋ฆฌํŽ™ํ† ๋ง 6์žฅ p147_p158
๋ฆฌํŽ™ํ† ๋ง 6์žฅ p147_p158๋ฆฌํŽ™ํ† ๋ง 6์žฅ p147_p158
๋ฆฌํŽ™ํ† ๋ง 6์žฅ p147_p158Heo Seungwook
ย 
Legacy code refactoring video rental system
Legacy code refactoring   video rental systemLegacy code refactoring   video rental system
Legacy code refactoring video rental systemJaehoon Oh
ย 
JUnit ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ
JUnit ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœJUnit ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ
JUnit ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœHyunil Shin
ย 

What's hot (19)

Effective c++chapter8
Effective c++chapter8Effective c++chapter8
Effective c++chapter8
ย 
Effective c++chapter4
Effective c++chapter4Effective c++chapter4
Effective c++chapter4
ย 
7 8 1
7 8 17 8 1
7 8 1
ย 
Effective c++chapter1 and2
Effective c++chapter1 and2Effective c++chapter1 and2
Effective c++chapter1 and2
ย 
5 6 1
5 6 15 6 1
5 6 1
ย 
[Toolcon2014] WebStorm์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ
[Toolcon2014] WebStorm์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ[Toolcon2014] WebStorm์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ
[Toolcon2014] WebStorm์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ
ย 
์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€์ด๋“œ
์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€์ด๋“œ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€์ด๋“œ
์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€์ด๋“œ
ย 
Holub on-patterns-2-1
Holub on-patterns-2-1Holub on-patterns-2-1
Holub on-patterns-2-1
ย 
์ดํŽ™ํ‹ฐ๋ธŒ C++ (7~9)
์ดํŽ™ํ‹ฐ๋ธŒ C++ (7~9)์ดํŽ™ํ‹ฐ๋ธŒ C++ (7~9)
์ดํŽ™ํ‹ฐ๋ธŒ C++ (7~9)
ย 
Effective c++ chapter7_8_9_dcshin
Effective c++ chapter7_8_9_dcshinEffective c++ chapter7_8_9_dcshin
Effective c++ chapter7_8_9_dcshin
ย 
[Osxdev]4.swift
[Osxdev]4.swift[Osxdev]4.swift
[Osxdev]4.swift
ย 
แ„‹แ…ตแ†ฐแ„€แ…ต แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซ แ„แ…ฉแ„ƒแ…ณแ„€แ…ก แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„แ…ฉแ„ƒแ…ณแ„ƒแ…ก
แ„‹แ…ตแ†ฐแ„€แ…ต แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซ แ„แ…ฉแ„ƒแ…ณแ„€แ…ก แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„แ…ฉแ„ƒแ…ณแ„ƒแ…กแ„‹แ…ตแ†ฐแ„€แ…ต แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซ แ„แ…ฉแ„ƒแ…ณแ„€แ…ก แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„แ…ฉแ„ƒแ…ณแ„ƒแ…ก
แ„‹แ…ตแ†ฐแ„€แ…ต แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซ แ„แ…ฉแ„ƒแ…ณแ„€แ…ก แ„Œแ…ฉแ‡‚แ„‹แ…ณแ†ซแ„แ…ฉแ„ƒแ…ณแ„ƒแ…ก
ย 
[1B1]์Šค์œ„ํ”„ํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด
[1B1]์Šค์œ„ํ”„ํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด[1B1]์Šค์œ„ํ”„ํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด
[1B1]์Šค์œ„ํ”„ํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด
ย 
More effective c++ chapter1 2_dcshin
More effective c++ chapter1 2_dcshinMore effective c++ chapter1 2_dcshin
More effective c++ chapter1 2_dcshin
ย 
More effective c++ 1
More effective c++ 1More effective c++ 1
More effective c++ 1
ย 
๋ฆฌํŽ™ํ† ๋ง 6์žฅ p147_p158
๋ฆฌํŽ™ํ† ๋ง 6์žฅ p147_p158๋ฆฌํŽ™ํ† ๋ง 6์žฅ p147_p158
๋ฆฌํŽ™ํ† ๋ง 6์žฅ p147_p158
ย 
Legacy code refactoring video rental system
Legacy code refactoring   video rental systemLegacy code refactoring   video rental system
Legacy code refactoring video rental system
ย 
JUnit ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ
JUnit ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœJUnit ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ
JUnit ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ
ย 
Effective c++ 1
Effective c++ 1Effective c++ 1
Effective c++ 1
ย 

Viewers also liked

introduction to dynamic programming and linear programming
introduction to dynamic programming and linear programmingintroduction to dynamic programming and linear programming
introduction to dynamic programming and linear programmingGyeongwook Choi
ย 
approximation algorithm
approximation algorithmapproximation algorithm
approximation algorithmGyeongwook Choi
ย 
๊ฐ•ํ™” ํ•™์Šต ๊ธฐ์ดˆ Reinforcement Learning an introduction
๊ฐ•ํ™” ํ•™์Šต ๊ธฐ์ดˆ Reinforcement Learning an introduction๊ฐ•ํ™” ํ•™์Šต ๊ธฐ์ดˆ Reinforcement Learning an introduction
๊ฐ•ํ™” ํ•™์Šต ๊ธฐ์ดˆ Reinforcement Learning an introductionTaehoon Kim
ย 

Viewers also liked (7)

MEC++ 1, 2
MEC++ 1, 2MEC++ 1, 2
MEC++ 1, 2
ย 
Mec 56
Mec 56Mec 56
Mec 56
ย 
introduction to dynamic programming and linear programming
introduction to dynamic programming and linear programmingintroduction to dynamic programming and linear programming
introduction to dynamic programming and linear programming
ย 
MEC++ 5
MEC++ 5MEC++ 5
MEC++ 5
ย 
MEC++ 3,4
MEC++ 3,4MEC++ 3,4
MEC++ 3,4
ย 
approximation algorithm
approximation algorithmapproximation algorithm
approximation algorithm
ย 
๊ฐ•ํ™” ํ•™์Šต ๊ธฐ์ดˆ Reinforcement Learning an introduction
๊ฐ•ํ™” ํ•™์Šต ๊ธฐ์ดˆ Reinforcement Learning an introduction๊ฐ•ํ™” ํ•™์Šต ๊ธฐ์ดˆ Reinforcement Learning an introduction
๊ฐ•ํ™” ํ•™์Šต ๊ธฐ์ดˆ Reinforcement Learning an introduction
ย 

Similar to EC 789

Chapter7~9 ppt
Chapter7~9 pptChapter7~9 ppt
Chapter7~9 pptInjae Lee
ย 
์ดํŽ™ํ‹ฐ๋ธŒ C++ 789 ๊ณต๋ถ€
์ดํŽ™ํ‹ฐ๋ธŒ C++ 789 ๊ณต๋ถ€์ดํŽ™ํ‹ฐ๋ธŒ C++ 789 ๊ณต๋ถ€
์ดํŽ™ํ‹ฐ๋ธŒ C++ 789 ๊ณต๋ถ€quxn6
ย 
Devon 2011-b-5 ํšจ๊ณผ์ ์ธ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐ
Devon 2011-b-5 ํšจ๊ณผ์ ์ธ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐDevon 2011-b-5 ํšจ๊ณผ์ ์ธ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐ
Devon 2011-b-5 ํšจ๊ณผ์ ์ธ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐDaum DNA
ย 
Effective c++ 1~8์žฅ
Effective c++ 1~8์žฅ Effective c++ 1~8์žฅ
Effective c++ 1~8์žฅ Shin heemin
ย 
C Language II
C Language IIC Language II
C Language IISuho Kwon
ย 
๋””์ž์ธํŒจํ„ด 1~13
๋””์ž์ธํŒจํ„ด 1~13๋””์ž์ธํŒจํ„ด 1~13
๋””์ž์ธํŒจํ„ด 1~13Shin heemin
ย 
Head first๋””์ž์ธํŒจํ„ด 1~13_ํฌ๋ฏผ_ํ˜ธ์ค€
Head first๋””์ž์ธํŒจํ„ด 1~13_ํฌ๋ฏผ_ํ˜ธ์ค€Head first๋””์ž์ธํŒจํ„ด 1~13_ํฌ๋ฏผ_ํ˜ธ์ค€
Head first๋””์ž์ธํŒจํ„ด 1~13_ํฌ๋ฏผ_ํ˜ธ์ค€HoJun Sung
ย 
Design patterns
Design patternsDesign patterns
Design patternsJoshua Yoon
ย 
Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005Ryan Park
ย 
[์•„๊ฟˆ์‚ฌ] The C++ Programming Language 13์žฅ ํ…œํ”Œ๋ฆฟ
[์•„๊ฟˆ์‚ฌ] The C++ Programming Language 13์žฅ ํ…œํ”Œ๋ฆฟ[์•„๊ฟˆ์‚ฌ] The C++ Programming Language 13์žฅ ํ…œํ”Œ๋ฆฟ
[์•„๊ฟˆ์‚ฌ] The C++ Programming Language 13์žฅ ํ…œํ”Œ๋ฆฟํ•ด๊ฐ•
ย 
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 1์ผ์ฐจ] ํ…œํ”Œ๋ฆฟ
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 1์ผ์ฐจ] ํ…œํ”Œ๋ฆฟ[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 1์ผ์ฐจ] ํ…œํ”Œ๋ฆฟ
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 1์ผ์ฐจ] ํ…œํ”Œ๋ฆฟAnselmKim
ย 
More effective c++ แ„Žแ…ขแ†ธแ„แ…ฅ3~4ppt
More effective c++ แ„Žแ…ขแ†ธแ„แ…ฅ3~4pptMore effective c++ แ„Žแ…ขแ†ธแ„แ…ฅ3~4ppt
More effective c++ แ„Žแ…ขแ†ธแ„แ…ฅ3~4pptInjae Lee
ย 
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java์œ ๋ฆฌ ํ•˜
ย 
์นด์‚ฌ ๊ณต๊ฐœ์„ธ๋ฏธ๋‚˜1ํšŒ W.E.L.C.
์นด์‚ฌ ๊ณต๊ฐœ์„ธ๋ฏธ๋‚˜1ํšŒ  W.E.L.C.์นด์‚ฌ ๊ณต๊ฐœ์„ธ๋ฏธ๋‚˜1ํšŒ  W.E.L.C.
์นด์‚ฌ ๊ณต๊ฐœ์„ธ๋ฏธ๋‚˜1ํšŒ W.E.L.C.Ryan Park
ย 
์ดํŽ™ํ‹ฐ๋ธŒ C++ 5,6 ์žฅ ์Šคํ„ฐ๋””
์ดํŽ™ํ‹ฐ๋ธŒ C++ 5,6 ์žฅ ์Šคํ„ฐ๋””์ดํŽ™ํ‹ฐ๋ธŒ C++ 5,6 ์žฅ ์Šคํ„ฐ๋””
์ดํŽ™ํ‹ฐ๋ธŒ C++ 5,6 ์žฅ ์Šคํ„ฐ๋””quxn6
ย 
effective c++ chapter 3~4 ์ •๋ฆฌ
effective c++ chapter 3~4 ์ •๋ฆฌeffective c++ chapter 3~4 ์ •๋ฆฌ
effective c++ chapter 3~4 ์ •๋ฆฌInjae Lee
ย 
๊น€์„ฑํ›ˆ - ๋›ฐ์–ด๋‚œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•
๊น€์„ฑํ›ˆ - ๋›ฐ์–ด๋‚œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•๊น€์„ฑํ›ˆ - ๋›ฐ์–ด๋‚œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•
๊น€์„ฑํ›ˆ - ๋›ฐ์–ด๋‚œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•์„ฑํ›ˆ ๊น€
ย 

Similar to EC 789 (20)

Chapter7~9 ppt
Chapter7~9 pptChapter7~9 ppt
Chapter7~9 ppt
ย 
์ดํŽ™ํ‹ฐ๋ธŒ C++ 789 ๊ณต๋ถ€
์ดํŽ™ํ‹ฐ๋ธŒ C++ 789 ๊ณต๋ถ€์ดํŽ™ํ‹ฐ๋ธŒ C++ 789 ๊ณต๋ถ€
์ดํŽ™ํ‹ฐ๋ธŒ C++ 789 ๊ณต๋ถ€
ย 
Devon 2011-b-5 ํšจ๊ณผ์ ์ธ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐ
Devon 2011-b-5 ํšจ๊ณผ์ ์ธ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐDevon 2011-b-5 ํšจ๊ณผ์ ์ธ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐ
Devon 2011-b-5 ํšจ๊ณผ์ ์ธ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐ
ย 
Effective c++ 1~8์žฅ
Effective c++ 1~8์žฅ Effective c++ 1~8์žฅ
Effective c++ 1~8์žฅ
ย 
C Language II
C Language IIC Language II
C Language II
ย 
Effective c++ Chapter1,2
Effective c++ Chapter1,2Effective c++ Chapter1,2
Effective c++ Chapter1,2
ย 
๋””์ž์ธํŒจํ„ด 1~13
๋””์ž์ธํŒจํ„ด 1~13๋””์ž์ธํŒจํ„ด 1~13
๋””์ž์ธํŒจํ„ด 1~13
ย 
Head first๋””์ž์ธํŒจํ„ด 1~13_ํฌ๋ฏผ_ํ˜ธ์ค€
Head first๋””์ž์ธํŒจํ„ด 1~13_ํฌ๋ฏผ_ํ˜ธ์ค€Head first๋””์ž์ธํŒจํ„ด 1~13_ํฌ๋ฏผ_ํ˜ธ์ค€
Head first๋””์ž์ธํŒจํ„ด 1~13_ํฌ๋ฏผ_ํ˜ธ์ค€
ย 
Design patterns
Design patternsDesign patterns
Design patterns
ย 
Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005
ย 
[์•„๊ฟˆ์‚ฌ] The C++ Programming Language 13์žฅ ํ…œํ”Œ๋ฆฟ
[์•„๊ฟˆ์‚ฌ] The C++ Programming Language 13์žฅ ํ…œํ”Œ๋ฆฟ[์•„๊ฟˆ์‚ฌ] The C++ Programming Language 13์žฅ ํ…œํ”Œ๋ฆฟ
[์•„๊ฟˆ์‚ฌ] The C++ Programming Language 13์žฅ ํ…œํ”Œ๋ฆฟ
ย 
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 1์ผ์ฐจ] ํ…œํ”Œ๋ฆฟ
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 1์ผ์ฐจ] ํ…œํ”Œ๋ฆฟ[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 1์ผ์ฐจ] ํ…œํ”Œ๋ฆฟ
[์Šคํ”„๋ง ์Šคํ„ฐ๋”” 1์ผ์ฐจ] ํ…œํ”Œ๋ฆฟ
ย 
Effective c++ item49
Effective c++ item49Effective c++ item49
Effective c++ item49
ย 
More effective c++ chapter1,2
More effective c++ chapter1,2More effective c++ chapter1,2
More effective c++ chapter1,2
ย 
More effective c++ แ„Žแ…ขแ†ธแ„แ…ฅ3~4ppt
More effective c++ แ„Žแ…ขแ†ธแ„แ…ฅ3~4pptMore effective c++ แ„Žแ…ขแ†ธแ„แ…ฅ3~4ppt
More effective c++ แ„Žแ…ขแ†ธแ„แ…ฅ3~4ppt
ย 
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
ย 
์นด์‚ฌ ๊ณต๊ฐœ์„ธ๋ฏธ๋‚˜1ํšŒ W.E.L.C.
์นด์‚ฌ ๊ณต๊ฐœ์„ธ๋ฏธ๋‚˜1ํšŒ  W.E.L.C.์นด์‚ฌ ๊ณต๊ฐœ์„ธ๋ฏธ๋‚˜1ํšŒ  W.E.L.C.
์นด์‚ฌ ๊ณต๊ฐœ์„ธ๋ฏธ๋‚˜1ํšŒ W.E.L.C.
ย 
์ดํŽ™ํ‹ฐ๋ธŒ C++ 5,6 ์žฅ ์Šคํ„ฐ๋””
์ดํŽ™ํ‹ฐ๋ธŒ C++ 5,6 ์žฅ ์Šคํ„ฐ๋””์ดํŽ™ํ‹ฐ๋ธŒ C++ 5,6 ์žฅ ์Šคํ„ฐ๋””
์ดํŽ™ํ‹ฐ๋ธŒ C++ 5,6 ์žฅ ์Šคํ„ฐ๋””
ย 
effective c++ chapter 3~4 ์ •๋ฆฌ
effective c++ chapter 3~4 ์ •๋ฆฌeffective c++ chapter 3~4 ์ •๋ฆฌ
effective c++ chapter 3~4 ์ •๋ฆฌ
ย 
๊น€์„ฑํ›ˆ - ๋›ฐ์–ด๋‚œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•
๊น€์„ฑํ›ˆ - ๋›ฐ์–ด๋‚œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•๊น€์„ฑํ›ˆ - ๋›ฐ์–ด๋‚œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•
๊น€์„ฑํ›ˆ - ๋›ฐ์–ด๋‚œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•
ย 

EC 789

  • 1. ํ•ญ๋ชฉ 41 : ํ…œํ”Œ๋ฆฟ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ฒœ๋ฆฟ๊ธธ๋„ ์•”์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ปดํŒŒ์ผ ํƒ€์ž„ ๋‹คํ˜•์„ฑ๋ถ€ํ„ฐ
  • 2. ํด๋ž˜์Šค์™€ ํ…œํ”Œ๋ฆฟ์€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹คํ˜•์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ๊ทธ ํŠน์„ฑ์ด ๋‹ค๋ฅด๋‹ค. ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ™•์ธ์ด ๋˜๋Š” ๋ช…์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ ํ…œํ”Œ๋ฆฟ์˜ ๊ฒฝ์šฐ ์ •์˜๋œ typename์ด ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ํ‘œํ˜„์‹์˜ ์กฐ๊ฑด๋งŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์•”์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณต ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ ๋‹คํ˜•์„ฑ์— ์žˆ์–ด์„œ ๋Ÿฐํƒ€์ž„ ์‹œ์— ํ•จ์ˆ˜ ํ…Œ์ด๋ธ”์„ ํ†ตํ•ด ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๊ฐ€ ์ •ํ•ด์ง€๋Š” ๋Ÿฐํƒ€์ž„ ๋‹คํ˜•์„ฑ์„, ํ…œํ”Œ๋ฆฟ์˜ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋  ํ•จ์ˆ˜๊ฐ€ ์ปดํŒŒ์ผ ์‹œ์— ๊ฒฐ์ •๋˜๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„ ๋‹คํ˜•์„ฑ์„ ์ œ๊ณต
  • 3. ํ•ญ๋ชฉ 42 : typename์˜ ๋‘ ๊ฐ€์ง€ ์˜๋ฏธ๋ฅผ ์ œ๋Œ€๋กœ ํŒŒ์•…ํ•˜์ž
  • 4. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…œํ”Œ๋ฆฟ์—์„œ ์‚ฌ์šฉํ•˜๋Š” class์™€ typename์—๋Š” ์ฐจ์ด๊ฐ€ ์—†๋‹ค. ํ•˜์ง€๋งŒ typename์„ ์จ์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ ๊ฒฝ์šฐ๋Š” ํ…œํ”Œ๋ฆฟ ์•ˆ์—์„œ ์ค‘์ฒฉ์˜์กด์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ๋•Œ ์ค‘์ฒฉ์˜์กด์ด๋ฆ„์ด๋ž€ C::iterator ์™€ ๊ฐ™์ด C๋ผ๋Š” ํ…œํ”Œ๋ฆฟ์—์„œ ์„ ์–ธ๋œ ํƒ€์ž…์— ์˜์กดํ•ด์„œ ::iterator๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ•˜์ง€๋งŒ typename์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋Š”๋ฐ ์ƒ์†๋˜๋Š” ๊ธฐ๋ณธ ํด๋ž˜์Šค ๋ฆฌ์ŠคํŠธ์—์„œ์™€ ๋ฉค๋ฒ„ ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ ์•ˆ์—์„œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฐธ๊ณ ๋กœ ์ด๋ ‡๊ฒŒ ์ค‘์ฒฉ์˜์กด์ด๋ฆ„์˜ ๊ฒฝ์šฐ ์ž์—ฐ์Šค๋ ˆ ์ด๋ฆ„์ž์ฒด๊ฐ€ ๊ธธ์–ด์ง€๊ณ  ์•ž์— typename๊นŒ์ง€ ๋ถ™์—ฌ์„œ ์จ์•ผ ํ•˜๋ฏ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ typedef๋กœ ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ•˜๋‹ค.
  • 5. ํ•ญ๋ชฉ 43 : ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ธฐ๋ณธ ํด๋ž˜์Šค ์•ˆ์˜ ์ด๋ฆ„์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„ ๋‘์ž
  • 6. ํ…œํ”Œ๋ฆฟ์€ ํŠน์ • ํƒ€์ž…์— ๋Œ€ํ•ด์„œ๋งŒ ๋‹ค๋ฅธ ๋™์ž‘์„ ํ•˜๋Š” ๋ฒ„์ „์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ  ์ด๋ฅผ ์™„์ „ ํ…œํ”Œ๋ฆฟ ํŠน์ˆ˜ํ™”๋ผ ํ•œ๋‹ค. ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค๋ฅผ ์ƒ์† ๋ฐ›๋Š” ๊ฒฝ์šฐ ํŠน์ˆ˜ํ™”๋œ ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ƒ์† ๋ฐ›์€ ํด๋ž˜์Šค์—์„œ ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค์˜ ํŠน์ • ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๋ณด์žฅ์„ ํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ํ…œํ”Œ๋ฆฟ์„ ์ƒ์†๋ฐ›์•„์„œ ๊ธฐ๋ณธ ํด๋ž˜์Šค์— ์žˆ๋Š” ํŠน์ • ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ํ•จ์ˆ˜ ํ˜ธ์ถœ ์•ž์— this-> ๋ฅผ ๋ถ™์ด๊ฑฐ๋‚˜ using namespace template<class>::function; ๊ฐ™์ด ์œ ํšจ ๋ฒ”์œ„๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋งŒ์•ฝ ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ์œ„์˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 7. ํ•ญ๋ชฉ 44 : ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋…๋ฆฝ์ ์ธ ์ฝ”๋“œ๋Š” ํ…œํ”Œ๋ฆฟ์œผ๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌ์‹œํ‚ค์ž
  • 8. ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค์—์„œ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ์‚ฌ์‹ค์ƒ ๊ฐ™์€ ํ•จ์ˆ˜๋ผ๋„ ๊ฐ๊ฐ์˜ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋”ฐ๋กœ ์ƒ์„ฑ๋œ๋‹ค. ์ด๋Š” ์ž์นซ ํ•˜๋Š” ์ผ์€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ์ผ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค ์•ˆ์—์„œ ์ •์˜๋œ ํ•จ์ˆ˜๋“ค ๊ฐ€์šด๋ฐ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์— ์˜์กด์ ์ด์ง€ ์•Š์€ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ์—๋Š” ์™ธ๋ถ€๋กœ ๋ถ„๋ฆฌํ•ด์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ด์„œ ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ๊ณตํ†ต๋œ ์ž‘์—…์„ ํ•˜๋Š” ๊ธฐ๋ณธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค๊ฐ€ ์ž‘์—…์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์˜ ํฌ์ธํ„ฐ๋ฅผ ๊ธฐ๋ณธ ํด๋ž˜์Šค๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ํ•œ ๋‹ค์Œ ๊ธฐ๋ณธ ํด๋ž˜์Šค์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ํƒ€์ž…์— ๋”ฐ๋ผ ๋”ฐ๋กœ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹๊ณผ ๋น„๊ตํ•˜๋ฉด ์ตœ์ ํ™”๋ผ๋Š” ์ธก๋ฉด์—์„œ ์ด ๋ฐฉ๋ฒ•์€ ์•ฝ๊ฐ„์˜ ์†ํ•ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹คํ–‰ ์ฝ”๋“œ๊ฐ€ ์ž‘์•„์ง์œผ๋กœ์จ ํŽ˜์ด์ง€ ํดํŠธ์˜ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์ƒ๊ธฐ๋ฉฐ ์–ด๋Š ๊ฒƒ์ด ์ด๋“์ธ์ง€๋Š” ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.
  • 9. ํ•ญ๋ชฉ 45 : โ€œํ˜ธํ™˜๋˜๋Š” ๋ชจ๋“  ํƒ€์ž…โ€์„ ๋ฐ›์•„๋“ค์ด๋Š” ๋ฐ๋Š” ๋ฉค๋ฒ„ ํ•จ์ˆ˜ ํ…œํ”Œ๋ฆฟ์ด ์ง๋ฐฉ!
  • 10. ๊ฐ™์€ ํ…œํ”Œ๋ฆฟ์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด๋ผ ํ•˜๋”๋ผ๋„ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ๊ทธ ๊ฐ์ฒด๋“ค์€ ์•„์˜ˆ ๋‹ค๋ฅธ ์กด์žฌ๋“ค์ด ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋“ค ์‚ฌ์ด์—์„œ ํ˜•๋ณ€ํ™˜์„ ํ•˜๋ ค๋ฉด ์ง์ ‘ ์ •์˜ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์›์น™์ ์œผ๋กœ ํ…œํ”Œ๋ฆฟ์˜ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” โ€œ๋ฌด์—‡์ด๋“ โ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ •์˜ํ•ด ์ฃผ์–ด์•ผ ํ•  ํ•จ์ˆ˜๋Š” ๋ฌดํ•œ๋Œ€๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฌดํ•œ๋Œ€์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜๋ฅผ ๋‚ด๋ถ€ ํ•จ์ˆ˜๋กœ ๋‹ค์‹œ ์ด์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ์—๋Š” ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๋”ฐ๋ผ์„œ ํ˜•๋ณ€ํ™˜์˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€์— ๋”ฐ๋ผ์„œ ๊ทธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ์•ฝ์กฐ๊ฑด์„ ๋งŒ๋“ค์–ด ๋‘์–ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์˜ ์ ‘๊ทผ์€ ์ƒ์„ฑ์ž ๋ฐ ๋Œ€์ž… ์—ฐ์‚ฐ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ ๋Œ€์ž… ์—ฐ์‚ฐ์—์„œ ์ฃผ์˜ํ•  ์ ์€ ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜๋กœ ๋Œ€์ž… ์—ฐ์‚ฐ์„ ์ •์˜ํ•œ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๊ธฐ๋ณธ ๋Œ€์ž… ์—ฐ์‚ฐ์ด ์„ ์–ธ ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ด๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ธฐ๋ณธ ๋Œ€์ž… ์—ฐ์‚ฐ๋„ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ์ •์˜ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • 11. ํ•ญ๋ชฉ 46 : ํƒ€์ž… ๋ณ€ํ™˜์ด ๋ฐ”๋žŒ์งํ•œ ๊ฒฝ์šฐ์—๋Š” ๋น„๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ํด๋ž˜์Šค ํ…œํ”Œ๋ฆฟ ์•ˆ์— ์ •์˜ํ•ด ๋‘์ž
  • 12. ํ…œํ”Œ๋ฆฟ ์ธ์ž ์ถ”๋ก  ๊ณผ์ •์—์„œ๋Š” ์•”์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฐ ํŠน์ง•์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ํด๋ž˜์Šค ์™ธ๋ถ€์— ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋‘๊ณ  ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค ์•ˆ์—์„œ ์ด ํ•จ์ˆ˜๋ฅผ ํ”„๋ Œ๋“œ ํด๋ž˜์Šค๋กœ ๋“ฑ๋กํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์ด๋•Œ ํ”„๋ Œ๋“œ ํ•จ์ˆ˜๋ฅผ ๋“ฑ๋กํ•  ๋•Œ๋Š” ์„ ์–ธ๋งŒ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ •์˜๊นŒ์ง€ ํ•˜๊ฑฐ๋‚˜ ์™ธ๋ถ€์˜ ํ…œํ”Œ๋ฆฟ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.
  • 13. ํ•ญ๋ชฉ 47 : ํƒ€์ž…์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ํŠน์„ฑ์ •๋ณด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ž
  • 14. ํ…œํ”Œ๋ฆฟ์€ ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์—‡์ด๋“  ๊ฐ€๋ฆฌ์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ตฌํ˜„ ๊ณผ์ •์—์„œ ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋™์ž‘์„ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๊ทธ ํƒ€์ž…์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŠน์„ฑ์ •๋ณด ํด๋ž˜์Šค์ด๋‹ค. ๋ฐ”๋กœ ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ํŠน์„ฑ์„ ํ™•์ธํ•˜๊ณ , ๊ทธ ํŠน์„ฑ์— ๋งž๋Š” ์ž‘๋™์„ ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋•Œ ํ…œํ”Œ๋ฆฟ์€ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ๊ตฌํ˜„๋œ๋‹ค๋Š” ์ ์„ ์ด์šฉํ•ด์„œ ์ด ํŠน์„ฑ ํ™•์ธ์„ ๋Ÿฐํƒ€์ž„์— ํ•˜์ง€ ์•Š๊ณ  ์ปดํŒŒ์ผ ํƒ€์ž„์— ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ๋•Œ์˜ ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.
  • 15. ํ•ญ๋ชฉ 48 : ํ…œํ”Œ๋ฆฟ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ํ•˜์ง€ ์•Š๊ฒ ๋Š”๊ฐ€?
  • 16. ํ…œํ”Œ๋ฆฟ์ด C++์— ์ถ”๊ฐ€๋˜๋ฉด์„œ ์ด ํ…œํ”Œ๋ฆฟ์„ ์ด์šฉํ•œ ๋‹ค์–‘ํ•œ ๊ฐ€๋Šฅ์„ฑ์„ ๋ฐœ๊ตด๋˜์—ˆ๋Š”๋ฐ, ์ด ๊ฐ€๋Šฅ์„ฑ์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ…œํ”Œ๋ฆฟ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค. ํ…œํ”Œ๋ฆฟ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์žฅ์ ์€ ๋Ÿฐํƒ€์ž„ ์‹œ์— ํ•ด์•ผ ํ•  ์ž‘์—…์„ ์ปดํŒŒ์ผ ์ž‘์—… ๊ณผ์ •์œผ๋กœ ๊ฐ€์ ธ์™€์„œ ์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์‹คํ–‰๋˜๋Š” ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๊ณผ ๋งˆ์น˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ™์ด ๊ธฐ์กด์˜ C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ๋Š” ํ•˜๊ธฐ ์–ด๋ ค์šด ์ž‘์—…๋“ค์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ด ์žˆ๋‹ค.
  • 17. ํ•ญ๋ชฉ 49 : new ์ฒ˜๋ฆฌ์ž์˜ ๋™์ž‘ ์›๋ฆฌ๋Š” ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ž
  • 18. new์˜ ๊ธฐ๋ณธ์ ์ธ ์—ญํ• ์€ ํ•„์š”ํ•œ ๊ณต๊ฐ„๋งŒํผ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๊ณ , ์ด ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๋Š”๋ฐ(์•ˆ ๋˜์ง€๋Š” new๋„ ์žˆ๋‹ค) ์ด ์—๋Ÿฌ ์ฒ˜๋ฆฌ ํ•จ์ˆ˜๋ฅผ new-handler๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด new-handler๋Š” ์ง์ ‘ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ๋ฐ”๊ฟ” ์ค„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ set_new_handler ํ•จ์ˆ˜์ด๋‹ค. ์ด ํ•จ์ˆ˜์˜ ํŠน์ง•์€ ์ธ์ž๋กœ ๋„ฃ์€ ์ƒˆ๋กœ์šด new_handler๋ฅผ new์˜ new-handler๋กœ ๋“ฑ๋กํ•˜๊ณ  ๊ธฐ์กด์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” new-handler๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ์™ธ๋ฅผ ๋˜์ง€์ง€ ์•Š๋Š” new์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋Š”๋ฐ, ์•„๋ฌด๋ฆฌ new์—์„œ ์˜ˆ์™ธ๋ฅผ ๋˜์ง€์ง€ ์•Š๋”๋ผ๊ณ  new๋กœ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ณผ์ •์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • 19. new๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ ๋„ค ๊ฐ€์ง€ ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ˜๋“œ์‹œ ํ•ด์•ผ ํ•œ๋‹ค. ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ๋งŽ์ด ํ™•๋ณดํ•œ๋‹ค. - ํ˜„์žฌ ์ž‘์—… ์ดํ›„์— ๋ฉ”๋ชจ๋ฆฌ ํ™•๋ณด๋ฅผ ๋” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ ๋‹ค๋ฅธ new ์ฒ˜๋ฆฌ์ž๋ฅผ ์„ค์น˜ํ•œ๋‹ค. - ๋งŒ์•ฝ ์ž์‹ ์ด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ์‹คํŒจํ•œ๋‹ค๋ฉด, ์ด ์‹คํŒจ๋ฅผ ํ•ด๊ฒฐํ•ด ์ค„ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ new ์ฒ˜๋ฆฌ์ž๋ฅผ ๋ถˆ๋Ÿฌ์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น new ์ฒ˜๋ฆฌ์ž์˜ ์„ค์น˜๋ฅผ ์ œ๊ฑฐ - set_new_handler์— ๋„ ํฌ์ธํ„ฐ๋ฅผ ํ• ๋‹นํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ์‹คํŒจํ•˜๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๊ฒŒ ํ•œ๋‹ค ์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค. - bad_alloc ํ˜น์€ ๊ทธ๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋œ ์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค. ๊ทธ๋Ÿผ new์—์„œ๋Š” ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ ์ฒ˜์Œ ๋ฉ”๋ชจ๋ฆฌ ์š”์ฒญํ•œ ๊ณณ๊นŒ์ง€ ๋„๋‹ฌ ๋ณต๊ท€ํ•˜์ง€ ์•Š๋Š”๋‹ค - abort๋‚˜ exit๋ฅผ ํ˜ธ์ถœ
  • 20. ํ•ญ๋ชฉ 50 : new ๋ฐ delete๋ฅผ ์–ธ์ œ ๋ฐ”๊ฟ”์•ผ ์ข‹์€ ์†Œ๋ฆฌ๋ฅผ ๋“ค์„์ง€๋ฅผ ํŒŒ์•…ํ•ด ๋‘์ž
  • 21. new๋‚˜ delete๋Š” C++์˜ ๋ณดํŽธ์ ์ธ ์š”๊ตฌ๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๊ตฌํ˜„์ด ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ๋งž์ถฐ์„œ ์ƒˆ๋กญ๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ์„ฑ๋Šฅ์ ์œผ๋กœ ์ด๋“์„ ๋ณผ ์ˆ˜ ์žˆ์„ ํ™•๋ฅ ์ด ๋†’๋‹ค. ์ž˜๋ชป ๋œ ํž™ ์‚ฌ์šฉ์„ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด - ํ• ๋‹ฌ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ์•ž ๋’ค๋กœ ํ™•์ธ ๋น„ํŠธ๋ฅผ ์‚ฝ์ž… ๋™์  ํ• ๋‹น ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹ค์ œ ์‚ฌ์šฉ์— ๊ด€ํ•œ ํ†ต๊ณ„ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ - new๋‚˜ delete ์•ˆ์— ํ†ต๊ณ„ ์ˆ˜์ง‘ ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ๋„ฃ๋Š”๋‹ค. ํ• ๋‹น ๋ฐ ํ•ด์ œ ์†๋ ฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด - ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฏธ๋ฆฌ pool์„ ์ƒ์„ฑํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น ๋ฐ›์•„๋‘๊ณ , ์ด pool์˜ ์ฃผ์†Œ๋“ค์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. - easy game server ์˜ object pool ์ด ์ด ๋ฐฉ์‹ ๊ธฐ๋ณธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž์˜ ๊ณต๊ฐ„ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด - ์•„๋ฌด๋ž˜๋„ ๋ฒ”์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๋Š” ๋ฒ”์šฉ์„ฑ์„ ์œ„ํ•ด ์†๋„๋Š” ๋ฌผ๋ก ์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋„ ๋” ์žก์•„ ๋จน๋Š”๋‹ค. - ์ด๋ฅผ ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ ์ž‘๋™ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๋ฉด ์ด๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • 22. ์ ๋‹นํžˆ ํƒ€ํ˜‘ํ•œ ๊ธฐ๋ณธ ํ• ๋‹น์ž์˜ ๋ฐ”์ดํŠธ ์ •๋ ฌ ๋™์ž‘์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด - ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜์— ๋”ฐ๋ผ์„œ ๋ฐ”์ดํŠธ ์ •๋ ฌ์„ ๋‹ค๋ฅด๊ฒŒ ํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅํ–ฅ์ƒ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ž„์˜์˜ ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋“ค์„ ํ•œ ๊ตฐ๋ฐ์— ๋‚˜๋ž€ํžˆ ๋ชจ์•„ ๋†“๊ธฐ ์œ„ํ•ด - ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋“ค์„ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ์ด๋“ค์„ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ์— ๋‘๋ฉด ํŽ˜์ด์ง€ ํดํŠธ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. - easy game server ์˜ object pool ์ด ์ด ๋ฐฉ์‹ ๊ทธ๋•Œ๊ทธ๋•Œ ์›ํ•˜๋Š” ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด - ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์›ํ•˜๋Š” ๋™์ž‘์„ new ๋‚˜ delete ๊ฐ€ ํ•ด์ฃผ๊ธธ ์›ํ•˜๋ฉด ์ด ๋™์ž‘์„ ํฌํ•จํ•˜๋„๋ก ์ง์ ‘ ๊ตฌํ˜„
  • 23. ํ•ญ๋ชฉ 51 : new ๋ฐ delete๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋”ฐ๋ผ์•ผ ํ•  ๊ธฐ์กด์˜ ๊ด€๋ก€๋ฅผ ์ž˜ ์•Œ์•„ ๋‘์ž
  • 24. new๋‚˜ delete๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ ํ•  ๋•Œ, ๊ธฐ์กด์— ์ด ํ•จ์ˆ˜๋“ค์ด ๋”ฐ๋ฅด๋˜ ๊ด€๋ก€๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. new์˜ ๊ฒฝ์šฐ์—๋Š” ์ตœ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๋ฅผ ๋ฌดํ•œ ๋ฃจํ”„๋กœ ๋งŒ๋“ ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ๋ชปํ•˜๋ฉด new-handler๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•œ๋‹ค. 0๋ฐ”์ดํŠธ์— ๋Œ€ํ•œ ์š”๊ตฌ๋ฅผ ๋งŒ์กฑํ•ด์•ผ ํ•˜๋Š”๋ฐ โ€“ ์ผ๋ฐ˜์ ์œผ๋กœ 1๋ฐ”์ดํŠธ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ ํด๋ž˜์Šค ์ „์šฉ ๋ฒ„์ „์—์„œ๋Š” ์˜ˆ์ •๋œ ํฌ๊ธฐ๋ณด๋‹ค ํฐ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ์š”๊ตฌ ๋ฐ›์„ ๋•Œ ์ ๋‹นํžˆ ์ฒ˜๋ฆฌํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. delete์˜ ๊ฒฝ์šฐ์—๋Š” ๋„ ํฌ์ธํ„ฐ๋ฅผ ํ•ด์ œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋ฉฐ ํด๋ž˜์Šค ์ „์šฉ ๋ฒ„์ „์ธ ๊ฒฝ์šฐ์—๋Š” ์˜ˆ์ •๋ณด๋‹ค ํฐ ๋ธ”๋ก์„ ํ•ด์ œ ๋ฐ›๊ธธ ์š”๊ตฌ ๋ฐ›์„ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค โ€“ ํ‘œ์ค€ delete๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋“ฑ
  • 25. ํ•ญ๋ชฉ 52 : ์œ„์น˜ ์ง€์ • new๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋ฉด ์œ„์น˜์ง€์ • delete๋„ ๊ฐ™์ด ์ค€๋น„ํ•˜์ž.
  • 26. ์œ„์น˜ ์ง€์ • new๋Š” ๋‹จ์–ด์—์„œ ์œ ์ถ”ํ•˜๋Š” ๋‚ด์šฉ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์‹ค์ œ๋กœ๋Š” ์ถ”๊ฐ€์ ์ธ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๋Š” ํ˜•ํƒœ์˜ new๋ฅผ ๋งํ•œ๋‹ค. ๋ฌธ์ œ๋Š” ์ด๋Ÿฐ new์˜ ๊ฒฝ์šฐ์—๋Š” new ์ž‘์—…์„ ์„ฑ๊ณตํ•˜๊ณ  ๊ฐ์ฒด๋ฅผ ๊ทธ ๋ฉ”๋ชจ๋ฆฌ์— ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ์— ํ•„์š”ํ•œ ๋Œ€์‘์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ ์ด์œ ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ์ •์—์„œ ์˜ˆ์™ธ๋ฅผ ํ™•์ธํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•œ new์— ๋Œ€์‘๋˜๋Š” delete๋กœ ๊ทธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์œ„์น˜ ์ง€์ • new๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด ์ด์™€ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” delete๋ฅผ ๋งŒ๋“ค์–ด ๋‘์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์ฃผ์˜ํ•  ์ ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ •์˜ํ•œ new๊ฐ€ ๊ธฐ์กด์˜ ํ‘œ์ค€ ํ˜•ํƒœ new๋ฅผ ๊ฐ€๋ฆฌ์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ๊ฐ์˜ ํ‘œ์ค€ํ˜• new ํ˜•ํƒœ์˜ ํ•จ์ˆ˜๋ฅผ ์ƒˆ๋กœ ์„ ์–ธํ•˜๊ณ , ๊ทธ ๋‚ด๋ถ€์—์„œ ํ‘œ์ค€ํ˜• new๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก ํ•œ๋‹ค.
  • 27. ํ•ญ๋ชฉ 53 : ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ฒฝ๊ณ ๋ฅผ ์ง€๋‚˜์น˜์ง€ ๋ง์ž.
  • 28. ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฒฝ๊ณ ๋ฅผ ํ•˜๋Š” ๊ฒƒ์—๋Š” ๋‹ค ์ด์œ ๊ฐ€ ์žˆ๋‹ค. ๋ฌด์‹œํ•˜์ง€ ๋ง์ž. ๊ฒฝ๊ณ  ์ˆ˜์ค€์„ ์ตœ๋Œ€๋กœ ๋‘๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ• ํ•˜์ง€๋งŒ ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ฒฝ๊ณ ๋งŒ ๋ฏฟ์–ด์„œ๋„ ์•ˆ ๋œ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ ๋ณ„๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ๊ณ ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ตญ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž˜ํ•ด์•ผ ๋œ๋‹ค.
  • 29. ํ•ญ๋ชฉ 54 : TR1์„ ํฌํ•จํ•œ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ์™€ ํŽธ์•ˆํ•œ ์นœ๊ตฌ๊ฐ€ ๋˜์ž.
  • 30. TR1์€ ์ผ์ข…์˜ ์ž…๋ฒ• ์˜ˆ๊ณ ์™€ ๊ฐ™์€ ๊ฒƒ - ์•ž์œผ๋กœ C++์— ํ‘œ์ค€์œผ๋กœ ์ฑ„์šฉ๋  ๋‚ด์šฉ๋“ค ๊ทธ ๋‚ด์šฉ์—๋Š” ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ๋‚˜ ์ •๊ทœํ‘œํ˜„์‹๊ณผ ๊ฐ™์€ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ์ด ์žˆ๋‹ค. ์ฃผ์˜ ํ•  ๊ฒƒ์€ TR1์€ ์–ด๋””๊นŒ์ง€๋‚˜ ๋ช…์„ธ์ผ ๋ฟ ๊ตฌํ˜„์ด ์•„๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด๋Ÿฐ ๋ช…์„ธ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๊ตฌํ˜„์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค. (์ง€๊ธˆ์€ C++12๊ฐ€ ๋‚˜์™”์œผ๋‹ˆ ์ข€ ๋‹ค๋ฅธ ์ด์•ผ๊ธฐ๊ฐ€ ๋˜๋ ค๋‚˜)
  • 31. ํ•ญ๋ชฉ 55 : Booๅญๆœ‰่ฆช! ๋ถ€์ŠคํŠธ๋ฅผ ๋Š˜ ์—ฌ๋Ÿฌ๋ถ„ ๊ฐ€๊นŒ์ด์—
  • 32. ๋ถ€์ŠคํŠธ๋Š” C++์— ๊ฐ•๋ ฅํ•œ ์˜ํ–ฅ๋ ฅ์„ ๊ฐ€์ง€๋Š” C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ œ์ž‘ ๋‹จ์ฒด ์ฒด๊ณ„์ ์ธ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ฌด๋ฃŒ์ธ ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ œ๊ณต ํ‘œ์ค€์— ์ฑ„์šฉ๋˜์ง€ ์•Š์€ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ์œผ๋ฏ€๋กœ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹๋‹ค.