C++中函数占位符在函数重载中的作用


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

C++中函数占位符在函数重载中的作用

相关内容