设计实现一个函数模板实现任意数据类型的查找
时间: 2023-09-01 07:11:17 浏览: 121
下面是一个函数模板示例,实现在一个数组中查找指定的元素,并返回其索引位置(如果存在):
```c++
template<typename T>
int findIndex(const T arr[], int size, const T& searchValue)
{
for(int i = 0; i < size; ++i)
{
if(arr[i] == searchValue)
return i;
}
return -1; // 如果未找到,返回 -1
}
```
这个函数模板可以接受任何数据类型的数组(包括基本类型、自定义类等),并且可以查找任何类型的元素。调用示例:
```c++
int intArray[] = {1, 2, 3, 4, 5};
double doubleArray[] = {1.1, 2.2, 3.3, 4.4, 5.5};
char charArray[] = {'a', 'b', 'c', 'd', 'e'};
int index1 = findIndex(intArray, 5, 3);
int index2 = findIndex(doubleArray, 5, 4.4);
int index3 = findIndex(charArray, 5, 'f');
std::cout << index1 << std::endl; // 输出 2
std::cout << index2 << std::endl; // 输出 3
std::cout << index3 << std::endl; // 输出 -1
```
阅读全文