SlideShare a Scribd company logo
1 of 20
Download to read offline
์ดํŽ™ํŠธ๋ธŒ C++
3. ์ž์›๊ด€๋ฆฌ	

4. ์„ค๊ณ„ ๋ฐ ์„ ์–ธ
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ถ„์•ผ์—์„œ ์ž์› (resource)์ด๋ž€	

์‚ฌ์šฉ์„ ์ผ๋‹จ ๋งˆ์น˜๊ณ  ๋‚œ ํ›„์—” ์‹œ์Šคํ…œ ์— ๋Œ๋ ค์ฃผ์–ด์•ผ ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ
์ •์ƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ํ•˜๋‹ค๊ฐ€ return์ด๋‚˜ goto๋ฅผ ์“ฐ๋‹ค๊ฐ€	

delete๋ฅผ ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋ฐœ์ƒํ•œ๋‹ค.	

!
์†Œ๋ฉธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ž
auto_ptr ์Šค๋งˆํŠธํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์Šค์ฝ”ํ”„๋ฅผ ๋‚˜์˜ฌ ๋•Œ	

์ž๋™์œผ๋กœ ์‚ญ์ œ๋ฅผ ํ•ด์ค€๋‹ค.
auto_ptr๋Š” ๋‘๋ฒˆ ๊ฐ์ฒด๋ฅผ ์ฃฝ์ด๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด	

๋ณต์‚ฌ๊ฐ€ ์•„๋‹ˆ๋ผ ์ด๋™์ด ๋œ๋‹ค.	

(๊ธฐ์กด ๊ฐ์ฒด๊ฐ€ NULL์ด ๋œ๋‹ค.)
๋ณต์‚ฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ 	

์ฐธ์กฐ ๊ฐฏ์ˆ˜๊ฐ€ 0์ด ๋ ๋•Œ๊นŒ์ง€ ๊ฒ€์‚ฌํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š”	

์Šค๋งˆํŠธํ•œ ์• ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด shared_ptr์„ ์‚ฌ์šฉํ•˜์ž.
๋‹จ delete๋ฅผ ํ•˜์ง€ delete[]๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค	

!
์ฆ‰ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•œ ๋ฐฐ์—ด์—๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
vector ๋ฐ string์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ	

๋™์  ๋ฐฐ์—ด ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋ถ€์ŠคํŠธ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜์ž
mutex๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ดˆ๊ธฐํ™” ๋ถ€๋ถ„์—์„œ	

์‚ญ์ œ์ž๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
์Šค๋งˆํŠธํฌ์ธํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ ค๋ฉด	

๋ช…์‹œ์  ๋ณ€ํ™˜์ด๋‚˜ ์•”์‹œ์  ๋ณ€ํ™˜์„ ํ•ด์•ผํ•œ๋‹ค.
*์„ ๋ถ™์ด๊ธฐ handle ์‚ฌ์šฉํ•˜๊ธฐ
๋ฐฐ์—ด์„ ์‚ญ์ œํ•  ๋•Œ์—๋Š” ๊ผญ[ ]๋ฅผ ์‚ฌ์šฉํ•˜์ž
new๋กœ ์ƒ์„ฑํ•œ ๊ฐ์ฒด๋ฅผ ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ์— ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ	

ํ•œ์ค„์— ๋‹ค ์ ์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋งˆ๋‹ค ํ‰๊ฐ€ ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ	

์˜ค๋ฅ˜๊ฐ€ ๋‚ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ค„ ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์ž.
์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด	

๊ตฌํ˜„ํ•  ๋ถ€๋ถ„์„ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ์ž˜๋ชป๋  ๋ถ€๋ถ„์„ ์ œ์•ฝ์„ ๋‘๊ฒŒ ํ•ด์„œ	

์ฝ”๋“œ๋ฅผ ์ž˜ ์งœ๋„๋ก ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ž˜๋ชป ์งœ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ํ•œ๋‹ค.	

์ƒˆ๋กœ์šด ํƒ€์ž…์„ ๋งŒ๋“ค๋ฉด ์ž…๋ ฅ๋„ ์ œํ•œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
const๋ฅผ ์‚ฌ์šฉํ•˜์ž!
์ด๋ฆ„์„ ์•Œ๊ธฐ ์‰ฝ๊ณ  ์ž์ฃผ ์“ฐ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด์„œ	

์ผ๊ด€์„ฑ์„ ์ง€์ผœ๋ผ(๋ฐฐ์—ดํฌ๊ธฐ๋ฅผ size๋‚˜ length๋“ฑ์œผ๋กœโ€ฆ)
ํฌ์ธํ„ฐ ๋ฐ˜ํ™˜ํ•ด์•ผ๋  ์ผ์ด ์žˆ์œผ๋ฉด ์Šค๋งˆํŠธํฌ์ธํ„ฐ๋ฅผ ์“ฐ์ž
shared_ptr๋กœ ์‚ญ์ œ์ž๋ฅผ ์ง€์ •ํ•˜๋ฉด dll์‚ฌ์šฉ์‹œ์—	

๋‹ค๋ฅธ delete๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํšจ์œจ์ ์ธ ํด๋ž˜์Šค ์„ค๊ณ„
์ƒ๊ฐํ•ด ๋ด์•ผ ํ•  ์ 
-์ƒˆ๋กœ ์ •์˜ํ•œ ํƒ€์ž…์˜ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐ ์†Œ๋ฉธ์€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•˜๋Š”๊ฐ€?	

-๊ฐ์ฒด ์ดˆ๊ธฐํ™”์™€ ๊ฐ์ฒด ๋Œ€์ž…์„ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๊ฒŒ ํ•œ๋‹ค.	

-์ƒˆ๋กœ์šด ํƒ€์ž…์œผ๋กœ ๋งŒ๋“  ๊ฐ์ฒด๊ฐ€ ๊ฐ’์— ์˜ํ•ด ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ	

์–ด๋–ค ์˜๋ฏธ๋ฅผ ์ค„ ๊ฒƒ์ธ๊ฐ€?	

-์ƒˆ๋กœ์šด ํƒ€์ž…์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ ๋ฒ•ํ•œ ๊ฐ’์— ๋Œ€ํ•œ ์ œ์•ฝ์€?	

-๊ธฐ์กด์˜ ํด๋ž˜์Šค ์ƒ์† ๊ณ„ํ†ต๋ง์— ๋งž์ถœ ๊ฒƒ์ธ๊ฐ€?	

(์ œ์•ฝ ์‚ฌํ•ญ์„ ๊ณ„์Šนํ•  ๊ฒƒ์ธ๊ฐ€, ์ด ํด๋ž˜์Šค๋ฅผ ๋‹ค๋ฅธ ์ชฝ์— ์ƒ์†์‹œํ‚ฌ๊ฒƒ์ธ๊ฐ€ ๋“ฑ)
-์–ด๋–ค ์ข…๋ฅ˜์˜ ํƒ€์ž… ๋ณ€ํ™˜์„ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ๊ฐ€ - ์•”์‹œ์  ๋ช…์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜ ํ—ˆ์šฉ	

-์–ด๋–ค ์—ฐ์‚ฐ์ž์™€ ํ•จ์ˆ˜๋ฅผ ๋‘์–ด์•ผ ์˜๋ฏธ๊ฐ€ ์žˆ์„๊นŒ? - ์–ด๋–ค ํ•จ์ˆ˜๊ฐ€ ํ•„์š”	

-ํ‘œ์ค€ ํ•จ์ˆ˜๋“ค ์ค‘ ์–ด๋–ค ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ๋ง ๊ฒƒ์ธ๊ฐ€? - private	

-์ƒˆ๋กœ์šด ํƒ€์ž…์˜ ๋ฉค๋ฒ„์— ๋Œ€ํ•œ ์ ‘๊ทผ๊ถŒํ•œ์„ ์–ด๋Š ์ชฝ์— ์ค„๊ฒƒ์ธ๊ฐ€. - ํด๋ž˜์Šค ๋ฉค๋ฒ„๋ฅผ	

public, protected, private ์–ด๋””์— ๋‘˜๊ฒƒ์ธ๊ฐ€?	

-์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๊ฐ€?	

-์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ํƒ€์ž…์ด ์ผ๋ฐ˜์ ์ธ๊ฐ€?	

-์ •๋ง๋กœ ํ•„์š”ํ•œ ํƒ€์ž…์ธ๊ฐ€?
ํ•จ์ˆ˜์— ์ธ์ž๋กœ ๊ฐ’์— ์˜ํ•œ ์ „๋‹ฌ ๋ณด๋‹ค๋Š”	

์ƒ์ˆ˜๊ฐ์ฒด ์ฐธ์กฐ์ž(ํฌ์ธํ„ฐ)๋กœ ์ „๋‹ฌํ•˜์ž.	

!
ํšจ์œจ์ ์ด๋ฉฐ ๋ณต์‚ฌ ์†์‹ค ๋ฌธ์ œ๊นŒ์ง€ ๋ง‰์•„์ค€๋‹ค.	

!
ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ œ๊ณต ํƒ€์ž… ๋ฐ STL๋ฐ˜๋ณต์ž,	

๊ทธ๋ฆฌ๊ณ  ํ•จ์ˆ˜ ๊ฐ์ฒด ํƒ€์ž…์—๋Š” ๋งž์ง€ ์•Š๋Š”๋‹ค.
ํฌ์ธํ„ฐ๋กœ ๋„˜๊ธธ๋ ค๊ณ  ์• ์“ฐ๋‹ค๊ฐ€	

๋นˆ ์“ฐ๋ ˆ๊ธฐ๊ฐ’์„ ๋„˜๊ธฐ๋ฉฐ ํŒจ๊ฐ€๋ง์‹ 	

!
๋ฉ”๋ชจ๋ฆฌ๋Š” ์ค„์ค„ ์ƒŒ๋‹ค.
๋ฐ์ดํ„ฐ ๋ฉค๋ฒ„๋Š” private๋กœ ํ•˜์ž.	

!
-ํ•จ์ˆ˜๋งŒ public์œผ๋กœ ํ•˜๋ฉด ์‚ฌ์šฉํ•˜๊ธฐ๋„ ์‰ฝ๋‹ค.	

-์‚ฌ์šฉ ๊ถŒํ•œ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.(์ ‘๊ทผ ์ œ์–ด)	

!
protected๋„ ๋ณ„๋กœ๋‹ค.	

ํ”„๋ Œ๋“œ๋„ ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž	

!
์–ด๋–ค ํ•จ์ˆ˜์— ๋“ค์–ด๊ฐ€๋Š” ๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ํƒ€์ž… ๋ณ€ํ™˜์„	

ํ•ด ์ค„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ ํ•จ์ˆ˜๋Š” ๋น„๋ฉค๋ฒ„์—ฌ์•ผ ํ•œ๋‹ค.
์‹คํ–‰ํ•˜๋Š”๋ฐ ์ง€์žฅ ์—†์œผ๋ฉด ๊ทธ๋ƒฅ std swap์“ฐ์ž(๊ฐ’ ๋ณต์‚ฌํ•จ)	

!
๋งŒ์•ฝ ๋Š๋ฆฌ๋ฉด swap๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ โ€ฆ	

์ด ๋ฉค๋ฒ„๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋น„๋ฉค๋ฒ„ swap๋„ ๋งŒ๋“ค๊ณ โ€ฆ	

ํด๋ž˜์Šค(ํ…œํ”Œ๋ฆฟX)์— ๋Œ€ํ•ด์„œ๋Š” std::swap๋„ ํŠน์ˆ˜ํ™”ํ•˜์ž	

!
ํ˜ธ์ถœํ•  ๋•Œ์—๋Š” std::swap์— ๋Œ€ํ•œ using์„ ์–ธ์„ ๋„ฃ๊ณ 	

๋„ค์ž„์ŠคํŽ˜์ด์Šค ํ•œ์ • ์—†์ด swap๋ฅผ ํ˜ธ์ถœํ•˜์ž	

!
stdํ…œํ”Œ๋ฆฟ์„ ํŠน์ˆ˜ํ™” ํ•˜๋Š”๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ	

std์— ์ƒˆ๋กœ ์ถ”๊ฐ€๋ฅผ ํ•˜๋ ค๊ณ  ํ•˜์ง€ ๋ง์ž.

More Related Content

What's hot

[2011 05 21] 4์žฅ ์ œ์–ด
[2011 05 21] 4์žฅ ์ œ์–ด[2011 05 21] 4์žฅ ์ œ์–ด
[2011 05 21] 4์žฅ ์ œ์–ดJong Pil Won
ย 
More effective c++ Chap1~2
More effective c++ Chap1~2More effective c++ Chap1~2
More effective c++ Chap1~2Injae Lee
ย 
C++ Template/STL study
C++ Template/STL studyC++ Template/STL study
C++ Template/STL studySeo Dong-yu
ย 
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
ย 
More effective c++ แ„’แ…กแ†ผแ„†แ…ฉแ†จ30แ„‡แ…ฎแ„แ…ฅ
More effective c++ แ„’แ…กแ†ผแ„†แ…ฉแ†จ30แ„‡แ…ฎแ„แ…ฅMore effective c++ แ„’แ…กแ†ผแ„†แ…ฉแ†จ30แ„‡แ…ฎแ„แ…ฅ
More effective c++ แ„’แ…กแ†ผแ„†แ…ฉแ†จ30แ„‡แ…ฎแ„แ…ฅDong Chan Shin
ย 
[Swift] Generics
[Swift] Generics[Swift] Generics
[Swift] GenericsBill Kim
ย 
Ec++ 3,4 summary
Ec++ 3,4 summaryEc++ 3,4 summary
Ec++ 3,4 summarySehyeon Nam
ย 
Effective c++ chapter3, 4 ์š”์•ฝ๋ณธ
Effective c++ chapter3, 4 ์š”์•ฝ๋ณธEffective c++ chapter3, 4 ์š”์•ฝ๋ณธ
Effective c++ chapter3, 4 ์š”์•ฝ๋ณธDong Chan Shin
ย 
effective c++ chapter 3~4 ์ •๋ฆฌ
effective c++ chapter 3~4 ์ •๋ฆฌeffective c++ chapter 3~4 ์ •๋ฆฌ
effective c++ chapter 3~4 ์ •๋ฆฌInjae Lee
ย 
แ„‹แ…ฌแ„€แ…จแ„‹แ…ฅ แ„‰แ…ณแ„แ…ฅแ„ƒแ…ต 3/5 function and object
แ„‹แ…ฌแ„€แ…จแ„‹แ…ฅ แ„‰แ…ณแ„แ…ฅแ„ƒแ…ต 3/5   function and objectแ„‹แ…ฌแ„€แ…จแ„‹แ…ฅ แ„‰แ…ณแ„แ…ฅแ„ƒแ…ต 3/5   function and object
แ„‹แ…ฌแ„€แ…จแ„‹แ…ฅ แ„‰แ…ณแ„แ…ฅแ„ƒแ…ต 3/5 function and object๋ฏผํƒœ ๊น€
ย 
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5๋ฏผํƒœ ๊น€
ย 
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5.1
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5.1แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5.1
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5.1๋ฏผํƒœ ๊น€
ย 
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 1,2์žฅ ์Šคํ„ฐ๋””
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 1,2์žฅ ์Šคํ„ฐ๋””๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 1,2์žฅ ์Šคํ„ฐ๋””
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 1,2์žฅ ์Šคํ„ฐ๋””quxn6
ย 
More effective c++ chapter3 4
More effective c++ chapter3 4More effective c++ chapter3 4
More effective c++ chapter3 4Dong Chan Shin
ย 

What's hot (20)

[2011 05 21] 4์žฅ ์ œ์–ด
[2011 05 21] 4์žฅ ์ œ์–ด[2011 05 21] 4์žฅ ์ œ์–ด
[2011 05 21] 4์žฅ ์ œ์–ด
ย 
More effective c++ Chap1~2
More effective c++ Chap1~2More effective c++ Chap1~2
More effective c++ Chap1~2
ย 
More effective c++ 2
More effective c++ 2More effective c++ 2
More effective c++ 2
ย 
C++ Template/STL study
C++ Template/STL studyC++ Template/STL study
C++ Template/STL study
ย 
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++ แ„’แ…กแ†ผแ„†แ…ฉแ†จ30แ„‡แ…ฎแ„แ…ฅ
More effective c++ แ„’แ…กแ†ผแ„†แ…ฉแ†จ30แ„‡แ…ฎแ„แ…ฅMore effective c++ แ„’แ…กแ†ผแ„†แ…ฉแ†จ30แ„‡แ…ฎแ„แ…ฅ
More effective c++ แ„’แ…กแ†ผแ„†แ…ฉแ†จ30แ„‡แ…ฎแ„แ…ฅ
ย 
Effective c++ 2
Effective c++ 2Effective c++ 2
Effective c++ 2
ย 
[Swift] Generics
[Swift] Generics[Swift] Generics
[Swift] Generics
ย 
Ec++ 3,4 summary
Ec++ 3,4 summaryEc++ 3,4 summary
Ec++ 3,4 summary
ย 
Effective c++ 1
Effective c++ 1Effective c++ 1
Effective c++ 1
ย 
More effective c++ 3
More effective c++ 3More effective c++ 3
More effective c++ 3
ย 
Effective c++ chapter3, 4 ์š”์•ฝ๋ณธ
Effective c++ chapter3, 4 ์š”์•ฝ๋ณธEffective c++ chapter3, 4 ์š”์•ฝ๋ณธ
Effective c++ chapter3, 4 ์š”์•ฝ๋ณธ
ย 
effective c++ chapter 3~4 ์ •๋ฆฌ
effective c++ chapter 3~4 ์ •๋ฆฌeffective c++ chapter 3~4 ์ •๋ฆฌ
effective c++ chapter 3~4 ์ •๋ฆฌ
ย 
Effective c++ 4
Effective c++ 4Effective c++ 4
Effective c++ 4
ย 
แ„‹แ…ฌแ„€แ…จแ„‹แ…ฅ แ„‰แ…ณแ„แ…ฅแ„ƒแ…ต 3/5 function and object
แ„‹แ…ฌแ„€แ…จแ„‹แ…ฅ แ„‰แ…ณแ„แ…ฅแ„ƒแ…ต 3/5   function and objectแ„‹แ…ฌแ„€แ…จแ„‹แ…ฅ แ„‰แ…ณแ„แ…ฅแ„ƒแ…ต 3/5   function and object
แ„‹แ…ฌแ„€แ…จแ„‹แ…ฅ แ„‰แ…ณแ„แ…ฅแ„ƒแ…ต 3/5 function and object
ย 
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5
ย 
More effective c++ 1
More effective c++ 1More effective c++ 1
More effective c++ 1
ย 
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5.1
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5.1แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5.1
แ„‡แ…ตแ„€แ…ขแ„‡แ…กแ†ฏแ„Œแ…กแ„…แ…ณแ†ฏ แ„‹แ…ฑแ„’แ…กแ†ซ Javascript แ„‹แ…กแ†ฏแ„‹แ…กแ„€แ…กแ„€แ…ต #5.1
ย 
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 1,2์žฅ ์Šคํ„ฐ๋””
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 1,2์žฅ ์Šคํ„ฐ๋””๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 1,2์žฅ ์Šคํ„ฐ๋””
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 1,2์žฅ ์Šคํ„ฐ๋””
ย 
More effective c++ chapter3 4
More effective c++ chapter3 4More effective c++ chapter3 4
More effective c++ chapter3 4
ย 

Viewers also liked

1 2 1
1 2 11 2 1
1 2 1nexthw
ย 
M3 4 1
M3 4 1M3 4 1
M3 4 1nexthw
ย 
M5 1 1
M5 1 1M5 1 1
M5 1 1nexthw
ย 
Random 120507151041-phpapp02
Random 120507151041-phpapp02Random 120507151041-phpapp02
Random 120507151041-phpapp02Yazeed Khalid
ย 
Wael Resume
Wael ResumeWael Resume
Wael ResumeWael Hosny
ย 
M5 6 1
M5 6 1M5 6 1
M5 6 1nexthw
ย 
A importรขncia da monitorizaรงรฃo minimamente invasiva
A importรขncia da monitorizaรงรฃo minimamente invasivaA importรขncia da monitorizaรงรฃo minimamente invasiva
A importรขncia da monitorizaรงรฃo minimamente invasivajoao rodrigo
ย 
7 8 1
7 8 17 8 1
7 8 1nexthw
ย 
5 6 1
5 6 15 6 1
5 6 1nexthw
ย 
Computer fundamentals-2
Computer fundamentals-2Computer fundamentals-2
Computer fundamentals-2Yazeed Khalid
ย 
31763381 23142747-computer-awareness-for-bank-exam-140227082505-phpapp01
31763381 23142747-computer-awareness-for-bank-exam-140227082505-phpapp0131763381 23142747-computer-awareness-for-bank-exam-140227082505-phpapp01
31763381 23142747-computer-awareness-for-bank-exam-140227082505-phpapp01Yazeed Khalid
ย 

Viewers also liked (15)

1 2 1
1 2 11 2 1
1 2 1
ย 
Duck
DuckDuck
Duck
ย 
M3 4 1
M3 4 1M3 4 1
M3 4 1
ย 
Anexo 1 ingles
Anexo 1 inglesAnexo 1 ingles
Anexo 1 ingles
ย 
M5 1 1
M5 1 1M5 1 1
M5 1 1
ย 
Random 120507151041-phpapp02
Random 120507151041-phpapp02Random 120507151041-phpapp02
Random 120507151041-phpapp02
ย 
Wael Resume
Wael ResumeWael Resume
Wael Resume
ย 
M5 6 1
M5 6 1M5 6 1
M5 6 1
ย 
Softwareaccess
SoftwareaccessSoftwareaccess
Softwareaccess
ย 
A importรขncia da monitorizaรงรฃo minimamente invasiva
A importรขncia da monitorizaรงรฃo minimamente invasivaA importรขncia da monitorizaรงรฃo minimamente invasiva
A importรขncia da monitorizaรงรฃo minimamente invasiva
ย 
P1
P1P1
P1
ย 
7 8 1
7 8 17 8 1
7 8 1
ย 
5 6 1
5 6 15 6 1
5 6 1
ย 
Computer fundamentals-2
Computer fundamentals-2Computer fundamentals-2
Computer fundamentals-2
ย 
31763381 23142747-computer-awareness-for-bank-exam-140227082505-phpapp01
31763381 23142747-computer-awareness-for-bank-exam-140227082505-phpapp0131763381 23142747-computer-awareness-for-bank-exam-140227082505-phpapp01
31763381 23142747-computer-awareness-for-bank-exam-140227082505-phpapp01
ย 

Similar to 3 4 1

More effective c++ chapter4 แ„‹แ…ตแ„’แ…ฎ แ„’แ…กแ†ผแ„†แ…ฉแ†จ 29แ„แ…กแ„Œแ…ต
More effective c++ chapter4 แ„‹แ…ตแ„’แ…ฎ แ„’แ…กแ†ผแ„†แ…ฉแ†จ 29แ„แ…กแ„Œแ…ตMore effective c++ chapter4 แ„‹แ…ตแ„’แ…ฎ แ„’แ…กแ†ผแ„†แ…ฉแ†จ 29แ„แ…กแ„Œแ…ต
More effective c++ chapter4 แ„‹แ…ตแ„’แ…ฎ แ„’แ…กแ†ผแ„†แ…ฉแ†จ 29แ„แ…กแ„Œแ…ตDong Chan Shin
ย 
Effective c++ 1~8์žฅ
Effective c++ 1~8์žฅ Effective c++ 1~8์žฅ
Effective c++ 1~8์žฅ Shin heemin
ย 
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 5์žฅ ์Šคํ„ฐ๋””
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 5์žฅ ์Šคํ„ฐ๋””๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 5์žฅ ์Šคํ„ฐ๋””
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 5์žฅ ์Šคํ„ฐ๋””quxn6
ย 
Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2Chris Ohk
ย 
๋””์ž์ธํŒจํ„ด 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
ย 
[0820 ์„์žฌํ˜ธ]headfirst๋””์ž์ธํŒจํ„ด
[0820 ์„์žฌํ˜ธ]headfirst๋””์ž์ธํŒจํ„ด[0820 ์„์žฌํ˜ธ]headfirst๋””์ž์ธํŒจํ„ด
[0820 ์„์žฌํ˜ธ]headfirst๋””์ž์ธํŒจํ„ดJaeho Seok
ย 
๋ชจ์–ด์ดํŽ™ํ‹ฐ๋ธŒ C++ 3,4์žฅ ์˜ˆ์™ธ, ํšจ์œจ ์Šคํ„ฐ๋””
๋ชจ์–ด์ดํŽ™ํ‹ฐ๋ธŒ C++ 3,4์žฅ ์˜ˆ์™ธ, ํšจ์œจ ์Šคํ„ฐ๋””๋ชจ์–ด์ดํŽ™ํ‹ฐ๋ธŒ C++ 3,4์žฅ ์˜ˆ์™ธ, ํšจ์œจ ์Šคํ„ฐ๋””
๋ชจ์–ด์ดํŽ™ํ‹ฐ๋ธŒ C++ 3,4์žฅ ์˜ˆ์™ธ, ํšจ์œจ ์Šคํ„ฐ๋””quxn6
ย 
Effective cpp
Effective cppEffective cpp
Effective cppTonyCms
ย 
แ„€แ…ฆแ„‹แ…ตแ†ทแ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผแ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ 7
แ„€แ…ฆแ„‹แ…ตแ†ทแ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผแ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ 7แ„€แ…ฆแ„‹แ…ตแ†ทแ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผแ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ 7
แ„€แ…ฆแ„‹แ…ตแ†ทแ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผแ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ 7Yeonah Ki
ย 
แ„แ…กแ„‹แ…ตแ†ธแ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„Œแ…กแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ„€แ…ต
แ„แ…กแ„‹แ…ตแ†ธแ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„Œแ…กแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ„€แ…ตแ„แ…กแ„‹แ…ตแ†ธแ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„Œแ…กแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ„€แ…ต
แ„แ…กแ„‹แ…ตแ†ธแ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„Œแ…กแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ„€แ…ตSanghoYun
ย 
Design patterns
Design patternsDesign patterns
Design patternsJoshua Yoon
ย 
Effective c++ chapter 1,2 ์š”์•ฝ
Effective c++ chapter 1,2 ์š”์•ฝEffective c++ chapter 1,2 ์š”์•ฝ
Effective c++ chapter 1,2 ์š”์•ฝNam Hyeonuk
ย 
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java์œ ๋ฆฌ ํ•˜
ย 
Effective c++ chapter5 6_ 131039 ์‹ ๋™์ฐฌ
Effective c++ chapter5 6_ 131039 ์‹ ๋™์ฐฌEffective c++ chapter5 6_ 131039 ์‹ ๋™์ฐฌ
Effective c++ chapter5 6_ 131039 ์‹ ๋™์ฐฌDong Chan Shin
ย 
More effective c++ 3์ฃผ์ฐจ
More effective c++ 3์ฃผ์ฐจMore effective c++ 3์ฃผ์ฐจ
More effective c++ 3์ฃผ์ฐจInjae Lee
ย 

Similar to 3 4 1 (20)

More effective c++ chapter4 แ„‹แ…ตแ„’แ…ฎ แ„’แ…กแ†ผแ„†แ…ฉแ†จ 29แ„แ…กแ„Œแ…ต
More effective c++ chapter4 แ„‹แ…ตแ„’แ…ฎ แ„’แ…กแ†ผแ„†แ…ฉแ†จ 29แ„แ…กแ„Œแ…ตMore effective c++ chapter4 แ„‹แ…ตแ„’แ…ฎ แ„’แ…กแ†ผแ„†แ…ฉแ†จ 29แ„แ…กแ„Œแ…ต
More effective c++ chapter4 แ„‹แ…ตแ„’แ…ฎ แ„’แ…กแ†ผแ„†แ…ฉแ†จ 29แ„แ…กแ„Œแ…ต
ย 
Effective c++ 1~8์žฅ
Effective c++ 1~8์žฅ Effective c++ 1~8์žฅ
Effective c++ 1~8์žฅ
ย 
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 5์žฅ ์Šคํ„ฐ๋””
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 5์žฅ ์Šคํ„ฐ๋””๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 5์žฅ ์Šคํ„ฐ๋””
๋ชจ์–ด ์ดํŽ™ํ‹ฐ๋ธŒ c++ 5์žฅ ์Šคํ„ฐ๋””
ย 
Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 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_ํฌ๋ฏผ_ํ˜ธ์ค€
ย 
Effective c++(chapter3,4)
Effective c++(chapter3,4)Effective c++(chapter3,4)
Effective c++(chapter3,4)
ย 
[0820 ์„์žฌํ˜ธ]headfirst๋””์ž์ธํŒจํ„ด
[0820 ์„์žฌํ˜ธ]headfirst๋””์ž์ธํŒจํ„ด[0820 ์„์žฌํ˜ธ]headfirst๋””์ž์ธํŒจํ„ด
[0820 ์„์žฌํ˜ธ]headfirst๋””์ž์ธํŒจํ„ด
ย 
๋ชจ์–ด์ดํŽ™ํ‹ฐ๋ธŒ C++ 3,4์žฅ ์˜ˆ์™ธ, ํšจ์œจ ์Šคํ„ฐ๋””
๋ชจ์–ด์ดํŽ™ํ‹ฐ๋ธŒ C++ 3,4์žฅ ์˜ˆ์™ธ, ํšจ์œจ ์Šคํ„ฐ๋””๋ชจ์–ด์ดํŽ™ํ‹ฐ๋ธŒ C++ 3,4์žฅ ์˜ˆ์™ธ, ํšจ์œจ ์Šคํ„ฐ๋””
๋ชจ์–ด์ดํŽ™ํ‹ฐ๋ธŒ C++ 3,4์žฅ ์˜ˆ์™ธ, ํšจ์œจ ์Šคํ„ฐ๋””
ย 
Effective cpp
Effective cppEffective cpp
Effective cpp
ย 
แ„€แ…ฆแ„‹แ…ตแ†ทแ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผแ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ 7
แ„€แ…ฆแ„‹แ…ตแ†ทแ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผแ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ 7แ„€แ…ฆแ„‹แ…ตแ†ทแ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผแ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ 7
แ„€แ…ฆแ„‹แ…ตแ†ทแ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผแ„‹แ…ตแ†ธแ„†แ…ฎแ†ซ 7
ย 
MEC++ 5
MEC++ 5MEC++ 5
MEC++ 5
ย 
แ„แ…กแ„‹แ…ตแ†ธแ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„Œแ…กแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ„€แ…ต
แ„แ…กแ„‹แ…ตแ†ธแ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„Œแ…กแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ„€แ…ตแ„แ…กแ„‹แ…ตแ†ธแ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„Œแ…กแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ„€แ…ต
แ„แ…กแ„‹แ…ตแ†ธแ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ธแ„แ…ณ แ„Œแ…กแ†ฏ แ„‰แ…กแ„‹แ…ญแ†ผแ„’แ…กแ„€แ…ต
ย 
Effective c++ Chapter1,2
Effective c++ Chapter1,2Effective c++ Chapter1,2
Effective c++ Chapter1,2
ย 
Design patterns
Design patternsDesign patterns
Design patterns
ย 
Effective c++ chapter 1,2 ์š”์•ฝ
Effective c++ chapter 1,2 ์š”์•ฝEffective c++ chapter 1,2 ์š”์•ฝ
Effective c++ chapter 1,2 ์š”์•ฝ
ย 
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
[HaU] ์‹ ์ž… ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„ java
ย 
Effective c++chapter4
Effective c++chapter4Effective c++chapter4
Effective c++chapter4
ย 
Effective c++ chapter5 6_ 131039 ์‹ ๋™์ฐฌ
Effective c++ chapter5 6_ 131039 ์‹ ๋™์ฐฌEffective c++ chapter5 6_ 131039 ์‹ ๋™์ฐฌ
Effective c++ chapter5 6_ 131039 ์‹ ๋™์ฐฌ
ย 
More effective c++ 3์ฃผ์ฐจ
More effective c++ 3์ฃผ์ฐจMore effective c++ 3์ฃผ์ฐจ
More effective c++ 3์ฃผ์ฐจ
ย 

3 4 1

  • 2. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ถ„์•ผ์—์„œ ์ž์› (resource)์ด๋ž€ ์‚ฌ์šฉ์„ ์ผ๋‹จ ๋งˆ์น˜๊ณ  ๋‚œ ํ›„์—” ์‹œ์Šคํ…œ ์— ๋Œ๋ ค์ฃผ์–ด์•ผ ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ
  • 3. ์ •์ƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ํ•˜๋‹ค๊ฐ€ return์ด๋‚˜ goto๋ฅผ ์“ฐ๋‹ค๊ฐ€ delete๋ฅผ ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋ฐœ์ƒํ•œ๋‹ค. ! ์†Œ๋ฉธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ž
  • 4. auto_ptr ์Šค๋งˆํŠธํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์Šค์ฝ”ํ”„๋ฅผ ๋‚˜์˜ฌ ๋•Œ ์ž๋™์œผ๋กœ ์‚ญ์ œ๋ฅผ ํ•ด์ค€๋‹ค.
  • 5. auto_ptr๋Š” ๋‘๋ฒˆ ๊ฐ์ฒด๋ฅผ ์ฃฝ์ด๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ๋ณต์‚ฌ๊ฐ€ ์•„๋‹ˆ๋ผ ์ด๋™์ด ๋œ๋‹ค. (๊ธฐ์กด ๊ฐ์ฒด๊ฐ€ NULL์ด ๋œ๋‹ค.)
  • 6. ๋ณต์‚ฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ  ์ฐธ์กฐ ๊ฐฏ์ˆ˜๊ฐ€ 0์ด ๋ ๋•Œ๊นŒ์ง€ ๊ฒ€์‚ฌํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ์Šค๋งˆํŠธํ•œ ์• ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด shared_ptr์„ ์‚ฌ์šฉํ•˜์ž.
  • 7. ๋‹จ delete๋ฅผ ํ•˜์ง€ delete[]๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค ! ์ฆ‰ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•œ ๋ฐฐ์—ด์—๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. vector ๋ฐ string์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ ๋™์  ๋ฐฐ์—ด ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋ถ€์ŠคํŠธ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜์ž
  • 8. mutex๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ดˆ๊ธฐํ™” ๋ถ€๋ถ„์—์„œ ์‚ญ์ œ์ž๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 9. ์Šค๋งˆํŠธํฌ์ธํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ช…์‹œ์  ๋ณ€ํ™˜์ด๋‚˜ ์•”์‹œ์  ๋ณ€ํ™˜์„ ํ•ด์•ผํ•œ๋‹ค. *์„ ๋ถ™์ด๊ธฐ handle ์‚ฌ์šฉํ•˜๊ธฐ
  • 10. ๋ฐฐ์—ด์„ ์‚ญ์ œํ•  ๋•Œ์—๋Š” ๊ผญ[ ]๋ฅผ ์‚ฌ์šฉํ•˜์ž
  • 11. new๋กœ ์ƒ์„ฑํ•œ ๊ฐ์ฒด๋ฅผ ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ์— ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํ•œ์ค„์— ๋‹ค ์ ์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋งˆ๋‹ค ํ‰๊ฐ€ ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ ์˜ค๋ฅ˜๊ฐ€ ๋‚ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ค„ ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์ž.
  • 12. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ๊ตฌํ˜„ํ•  ๋ถ€๋ถ„์„ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ์ž˜๋ชป๋  ๋ถ€๋ถ„์„ ์ œ์•ฝ์„ ๋‘๊ฒŒ ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž˜ ์งœ๋„๋ก ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 13. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ž˜๋ชป ์งœ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ํ•œ๋‹ค. ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ๋งŒ๋“ค๋ฉด ์ž…๋ ฅ๋„ ์ œํ•œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 14. const๋ฅผ ์‚ฌ์šฉํ•˜์ž! ์ด๋ฆ„์„ ์•Œ๊ธฐ ์‰ฝ๊ณ  ์ž์ฃผ ์“ฐ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด์„œ ์ผ๊ด€์„ฑ์„ ์ง€์ผœ๋ผ(๋ฐฐ์—ดํฌ๊ธฐ๋ฅผ size๋‚˜ length๋“ฑ์œผ๋กœโ€ฆ) ํฌ์ธํ„ฐ ๋ฐ˜ํ™˜ํ•ด์•ผ๋  ์ผ์ด ์žˆ์œผ๋ฉด ์Šค๋งˆํŠธํฌ์ธํ„ฐ๋ฅผ ์“ฐ์ž shared_ptr๋กœ ์‚ญ์ œ์ž๋ฅผ ์ง€์ •ํ•˜๋ฉด dll์‚ฌ์šฉ์‹œ์— ๋‹ค๋ฅธ delete๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 15. ํšจ์œจ์ ์ธ ํด๋ž˜์Šค ์„ค๊ณ„ ์ƒ๊ฐํ•ด ๋ด์•ผ ํ•  ์  -์ƒˆ๋กœ ์ •์˜ํ•œ ํƒ€์ž…์˜ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐ ์†Œ๋ฉธ์€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•˜๋Š”๊ฐ€? -๊ฐ์ฒด ์ดˆ๊ธฐํ™”์™€ ๊ฐ์ฒด ๋Œ€์ž…์„ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๊ฒŒ ํ•œ๋‹ค. -์ƒˆ๋กœ์šด ํƒ€์ž…์œผ๋กœ ๋งŒ๋“  ๊ฐ์ฒด๊ฐ€ ๊ฐ’์— ์˜ํ•ด ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ ์–ด๋–ค ์˜๋ฏธ๋ฅผ ์ค„ ๊ฒƒ์ธ๊ฐ€? -์ƒˆ๋กœ์šด ํƒ€์ž…์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ ๋ฒ•ํ•œ ๊ฐ’์— ๋Œ€ํ•œ ์ œ์•ฝ์€? -๊ธฐ์กด์˜ ํด๋ž˜์Šค ์ƒ์† ๊ณ„ํ†ต๋ง์— ๋งž์ถœ ๊ฒƒ์ธ๊ฐ€? (์ œ์•ฝ ์‚ฌํ•ญ์„ ๊ณ„์Šนํ•  ๊ฒƒ์ธ๊ฐ€, ์ด ํด๋ž˜์Šค๋ฅผ ๋‹ค๋ฅธ ์ชฝ์— ์ƒ์†์‹œํ‚ฌ๊ฒƒ์ธ๊ฐ€ ๋“ฑ)
  • 16. -์–ด๋–ค ์ข…๋ฅ˜์˜ ํƒ€์ž… ๋ณ€ํ™˜์„ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ๊ฐ€ - ์•”์‹œ์  ๋ช…์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜ ํ—ˆ์šฉ -์–ด๋–ค ์—ฐ์‚ฐ์ž์™€ ํ•จ์ˆ˜๋ฅผ ๋‘์–ด์•ผ ์˜๋ฏธ๊ฐ€ ์žˆ์„๊นŒ? - ์–ด๋–ค ํ•จ์ˆ˜๊ฐ€ ํ•„์š” -ํ‘œ์ค€ ํ•จ์ˆ˜๋“ค ์ค‘ ์–ด๋–ค ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ๋ง ๊ฒƒ์ธ๊ฐ€? - private -์ƒˆ๋กœ์šด ํƒ€์ž…์˜ ๋ฉค๋ฒ„์— ๋Œ€ํ•œ ์ ‘๊ทผ๊ถŒํ•œ์„ ์–ด๋Š ์ชฝ์— ์ค„๊ฒƒ์ธ๊ฐ€. - ํด๋ž˜์Šค ๋ฉค๋ฒ„๋ฅผ public, protected, private ์–ด๋””์— ๋‘˜๊ฒƒ์ธ๊ฐ€? -์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๊ฐ€? -์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ํƒ€์ž…์ด ์ผ๋ฐ˜์ ์ธ๊ฐ€? -์ •๋ง๋กœ ํ•„์š”ํ•œ ํƒ€์ž…์ธ๊ฐ€?
  • 17. ํ•จ์ˆ˜์— ์ธ์ž๋กœ ๊ฐ’์— ์˜ํ•œ ์ „๋‹ฌ ๋ณด๋‹ค๋Š” ์ƒ์ˆ˜๊ฐ์ฒด ์ฐธ์กฐ์ž(ํฌ์ธํ„ฐ)๋กœ ์ „๋‹ฌํ•˜์ž. ! ํšจ์œจ์ ์ด๋ฉฐ ๋ณต์‚ฌ ์†์‹ค ๋ฌธ์ œ๊นŒ์ง€ ๋ง‰์•„์ค€๋‹ค. ! ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ œ๊ณต ํƒ€์ž… ๋ฐ STL๋ฐ˜๋ณต์ž, ๊ทธ๋ฆฌ๊ณ  ํ•จ์ˆ˜ ๊ฐ์ฒด ํƒ€์ž…์—๋Š” ๋งž์ง€ ์•Š๋Š”๋‹ค.
  • 18. ํฌ์ธํ„ฐ๋กœ ๋„˜๊ธธ๋ ค๊ณ  ์• ์“ฐ๋‹ค๊ฐ€ ๋นˆ ์“ฐ๋ ˆ๊ธฐ๊ฐ’์„ ๋„˜๊ธฐ๋ฉฐ ํŒจ๊ฐ€๋ง์‹  ! ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ค„์ค„ ์ƒŒ๋‹ค.
  • 19. ๋ฐ์ดํ„ฐ ๋ฉค๋ฒ„๋Š” private๋กœ ํ•˜์ž. ! -ํ•จ์ˆ˜๋งŒ public์œผ๋กœ ํ•˜๋ฉด ์‚ฌ์šฉํ•˜๊ธฐ๋„ ์‰ฝ๋‹ค. -์‚ฌ์šฉ ๊ถŒํ•œ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.(์ ‘๊ทผ ์ œ์–ด) ! protected๋„ ๋ณ„๋กœ๋‹ค. ํ”„๋ Œ๋“œ๋„ ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž ! ์–ด๋–ค ํ•จ์ˆ˜์— ๋“ค์–ด๊ฐ€๋Š” ๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ํƒ€์ž… ๋ณ€ํ™˜์„ ํ•ด ์ค„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ ํ•จ์ˆ˜๋Š” ๋น„๋ฉค๋ฒ„์—ฌ์•ผ ํ•œ๋‹ค.
  • 20. ์‹คํ–‰ํ•˜๋Š”๋ฐ ์ง€์žฅ ์—†์œผ๋ฉด ๊ทธ๋ƒฅ std swap์“ฐ์ž(๊ฐ’ ๋ณต์‚ฌํ•จ) ! ๋งŒ์•ฝ ๋Š๋ฆฌ๋ฉด swap๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ โ€ฆ ์ด ๋ฉค๋ฒ„๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋น„๋ฉค๋ฒ„ swap๋„ ๋งŒ๋“ค๊ณ โ€ฆ ํด๋ž˜์Šค(ํ…œํ”Œ๋ฆฟX)์— ๋Œ€ํ•ด์„œ๋Š” std::swap๋„ ํŠน์ˆ˜ํ™”ํ•˜์ž ! ํ˜ธ์ถœํ•  ๋•Œ์—๋Š” std::swap์— ๋Œ€ํ•œ using์„ ์–ธ์„ ๋„ฃ๊ณ  ๋„ค์ž„์ŠคํŽ˜์ด์Šค ํ•œ์ • ์—†์ด swap๋ฅผ ํ˜ธ์ถœํ•˜์ž ! stdํ…œํ”Œ๋ฆฟ์„ ํŠน์ˆ˜ํ™” ํ•˜๋Š”๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ std์— ์ƒˆ๋กœ ์ถ”๊ฐ€๋ฅผ ํ•˜๋ ค๊ณ  ํ•˜์ง€ ๋ง์ž.