小白求助 关于函数模板的参数问题
#include "iostream"using std::endl;
using std::cout;
using std::cin;
template <typename T,typename T2>
void myIntSort(T* arr, T2 len)//问题1:int* arr,int len 为啥这里要写T 和 T2,直接一个T 不行吗 myIntSort(T* arr,T len)?
{
T2 tmp = 0;
for (T2 i = 0; i < len; i++)
{
for (T2 j = i + 1; j < len; j++)
{
if (arr > arr)
{
tmp = arr;
arr = arr;
arr = tmp;
}
}
}
}
template <typename T,typename T2>
void printS(T* arr,T2 len)
{
for (T2 i = 0; i < len; i++)
{
cout << arr << " ";
}
cout << endl;
}
template <typename T,typename T2>
void myStringSort(T* arr, int size)
{
T tmp = ' ';
for (T2 i = 0; i < size; i++)
{
for (T2 j = i + 1; j < size; j++)
{
if (arr > arr)
{
tmp = arr;
arr = arr;
arr = tmp;
}
}
}
}
void main()
{
{
int arr[] = { 22,11,5,65,77,12,99 };
int len = sizeof(arr) / sizeof(*arr);
myIntSort<int,int>(arr, len);
printS<int,int>(arr, len);
}
{
char buf[] = "afjjonbnd111222mlsng";
int size = strlen(buf);
myStringSort<char,int>(buf, size);
printS<char, int>(buf, size);
}
system("pause");
} 这个问题在main函数中已经解答了。如果你确实是只要使用int数组,那一个T就足够了。但数组类型用泛型代替,可以允许其他类型的数组来使用此模板。比如main函数中的char数组 倒戈卸甲 发表于 2020-4-24 17:57
这个问题在main函数中已经解答了。如果你确实是只要使用int数组,那一个T就足够了。但数组类型用泛型代替, ...
哦哦 知道了
页:
[1]