43_find 템플릿 함수 구현
#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;
}