template
void bubbleSort(T(&arr)[size])
{
if (NULL == arr)
return;
if (0 >= size)
return;
int i = 0;
int j = 0;
T temp;
for (; i < size - 1; i++)
{
for (j = 0; j < size - 1 - i; j++)
{
if (arr[j]>arr[j + 1])
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
这个是典型的模板推导。推导是编译器做的事情,编译器知道传入的数组(引用)的size,因为size必须是常量。
size是模板参数,arr是函数参数
应该是元素的个数
应该是元素的个数
size是T类型的元素的个数,size不是形参,形参是arr