inline体现在哪?
中才德创 2009-03-31 08:02:16 inline void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
void bubble_sort(int ary[], int size)
{
for (int i=0; i<size; i++)
{
for (int j=i+1; j<size; j++)
{
if (ary[i] > ary[j])
{
swap(ary[i] , ary[j]);
}
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int array[5] = {3, 2, 5, 4, 1};
bubble_sort(array, sizeof(array)/sizeof(int));
return 0;
}
/*
void swap(int &a, int &b)
22: swap(ary[i] , ary[j]);
00411458 mov eax,dword ptr [j]
0041145B mov ecx,dword ptr [ary]
0041145E lea edx,[ecx+eax*4]
00411461 push edx
00411462 mov eax,dword ptr [i]
00411465 mov ecx,dword ptr [ary]
00411468 lea edx,[ecx+eax*4]
0041146B push edx
0041146C call swap (411104h)
00411471 add esp,8
inline void swap(int &a, int &b)
22: swap(ary[i] , ary[j]);
00411418 mov eax,dword ptr [j]
0041141B mov ecx,dword ptr [ary]
0041141E lea edx,[ecx+eax*4]
00411421 push edx
00411422 mov eax,dword ptr [i]
00411425 mov ecx,dword ptr [ary]
00411428 lea edx,[ecx+eax*4]
0041142B push edx
0041142C call swap (411104h)
00411431 add esp,8
问题一:加没加inline,为什么译码是一样的呢?inline体现在哪?
*/