반응형
#include <iostream>
using namespace std;
//템플릿 전문화(특수화)
/*
선작업 : 템플릿함수를 구성하였다.
문제발생 : 특정타입은 알고리즘이 다르다.
해결법 : 특정타입만 전문적으로 호출되는
템플릿전문화 함수를 구성한다.
*/
template <typename T>
bool cmp(T num1, T num2)
{
return num1 == num2;
}
//전문화템플릿
template <> //template<char*>
bool cmp(char* num1, char* num2)
{
return (strcmp(num1, num2) == 0);
}
int main()
{
if (cmp(10, 10) == true) cout << "동일" << endl;
else cout << "다르다" << endl;
if( cmp('A', 'B') == true) cout << "동일" << endl;
else cout << "다르다" << endl;
char s1[20] = "aaa"; // string s1 = "aaa";
char s2[20] = "aaa"; // string s2 = "aaa";
if (cmp(s1, s2) == true) cout << "동일" << endl;
else cout << "다르다" << endl;
return 0;
}
반응형
'01.Bit 단기 > C++' 카테고리의 다른 글
44_STL find 함수 (0) | 2018.05.09 |
---|---|
43_find 템플릿 함수 구현 (0) | 2018.05.09 |
41_하나이상의 typename T (0) | 2018.05.08 |
40_암시적명시적 사용 (0) | 2018.05.08 |
39_함수템플릿 (0) | 2018.05.08 |
댓글