μƒˆμ†Œμ‹

곡뢀/CㆍC++

ν…œν”Œλ¦Ώ ν•¨μˆ˜

  • -
728x90

ν…œν”Œλ¦Ώ ν•¨μˆ˜λŠ” μ»΄νŒŒμΌλ˜μ§€λ„ ν˜ΈμΆœλ˜μ§€λ„ μ•Šμ€ ν•¨μˆ˜μ˜ ν‹€

μ œλ„€λ¦­ ν•¨μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  컴파일 μ‹œμ μ— κ΅¬μ²΄ν™”μ‹œν‚€κΈ° μœ„ν•œ 틀을 λ§Œλ“œλŠ” 것

맀크둜(#define)와 달리 λ³΅μž‘ν•œ ν•¨μˆ˜λ‚˜ 클래슀λ₯Ό ν‘œν˜„ν•˜λŠ”λ° ν•œκ³„κ°€ μ—†λ‹€.

μ œλ„€λ¦­ 클래슀(generic class)도 λ§Œλ“€ 수 μžˆλ‹€.

 

ν…œν”Œλ¦Ώ ν•¨μˆ˜μ˜ μž₯점

- ν•¨μˆ˜ μ½”λ“œμ˜ μž¬μ‚¬μš©μ„ κ°€λŠ₯ν•˜κ²Œ ν•˜μ—¬ μ†Œν”„νŠΈμ›¨μ–΄μ˜ 생산성과 μœ μ—°μ„±μ„ λ†’μž„

 

ν…œν”Œλ¦Ώ ν•¨μˆ˜μ˜ 단점

- μ»΄νŒŒμΌλŸ¬μ— λ”°λΌμ„œ ν…œν”Œλ¦Ώμ΄ μ§€μ›λ˜μ§€ μ•Šμ„ 수 μžˆμ–΄μ„œ ν¬νŒ…μ— μ·¨μ•½

- 였λ₯˜ λ©”μ‹œμ§€κ°€ λΉˆμ•½ν•˜μ—¬ 디버깅에 λ§Žμ€ 어렀움이 있음

 

*swap ν•¨μˆ˜λ₯Ό ν…œν”Œλ¦Ώ ν•¨μˆ˜λ‘œ ν‘œν˜„*

1
2
3
4
5
6
7
8
template <class T>
void swap(T &a, T &b)
{
    T temp;
    temp = a;
    a=b;
    b=tmp;
}
cs

 

 

 

 

 

 

λ°˜μ‘ν˜•
Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.