今天看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;
}