今天看STL源碼剖析,對於迭代器不同類型的重載函數的調用用到了函數占位符,之前沒注意過,以後函數重載設計時可以利用,特記錄下來。
代碼只是簡單的測試,沒有特別意義:
#include <iostream>
using namespace std;
int __Sum( int a, int b, int )
{
cout<<"__Sum( int a, int b, int )"<<endl;
return a + b;
}
int __Sum( int a, int b, char )
{
while( b > 0 )
{
++a;
--b;
}
cout<<"__Sum( int a, int b, char )"<<endl;
return a;
}
int Sum( int a, int b )
{
int ret;
if( a > b )
{
ret = __Sum( a, b, ' ' );
}
else
{
ret = __Sum( a, b, 0 );
}
return ret;
}
int main()
{
cout<<Sum( 4, 5 )<<endl;
cout<<Sum( 6, 5 )<<endl;
return 0;
}