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

43_find 템플릿 함수 구현

by chojju 2018. 5. 9.
반응형

#include <iostream>
using namespace std;
/*
int * find(int *begin, int *end, int value)
{
 while (begin != end && *begin != value)
  begin++;
 return begin;
 //1. 찾았을 때    ; begin != end
 //2. 못찾았을 때  ; begin == end 
}
*/
//함수 템플릿 예

template <typename T1, typename T2>
T1 myfind(T1 begin, T1 end, T2 value)
{
 while (begin != end && *begin != value)
  begin++;
 return begin;
}


int main()
{
 int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
 
 //구간 : 1인자 ~ 2인자
 //       arr+10 ?
 int *p = myfind(arr, arr + 10, 30);
 if (p == arr + 10)
  cout << "못찾았다." <<  endl;
 else
  cout << "찾았다. : " << *p << endl;

 float arr1[10] = { 1.1f,2.2f,3.2f,4.3f,5.5f,6.5f,7.5f,8.5f,9.5f,10.4f };

 //구간 : 1인자 ~ 2인자
 //       arr+10 ?
 float *p1 = myfind(arr1, arr1 + 10, 3.2f);
 if (p1 == arr1 + 10)
  cout << "못찾았다." << endl;
 else
  cout << "찾았다. : " << *p1 << endl;
 return 0;
}

반응형

'01.Bit 단기 > C++' 카테고리의 다른 글

45_STL Sort 함수  (0) 2018.05.09
44_STL find 함수  (0) 2018.05.09
42_전문화템플릿  (0) 2018.05.08
41_하나이상의 typename T  (0) 2018.05.08
40_암시적명시적 사용  (0) 2018.05.08

댓글