본문 바로가기
01.Bit 단기/C++

42_전문화템플릿

by chojju 2018. 5. 8.
반응형

#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

댓글