歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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;
}

Copyright © Linux教程網 All Rights Reserved