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是函數參數