用模板實現類似於參數調用的效果

//  用模板實現類似於參數調用的效果
//  2013-03-22
//  sina blog will automatically remove "<" and ">"
//  only tested on VS2008, not supported in old versio like VS6.0
#include  < iostream >
#include  < cstring >
#include  < cmath >
using namespace std;

double mysin(double x)
{
   return sin(x);
}

template < double (*T)(double) > double result(double x)
{
   // almost equals to 
   //    double result(double (*T)(double),double)
   return T(x);
}
double result(double (*T)(double),double x) 
{
    return T(x);
}

int main()
{
    cout<< result < mysin > (1.5)<<endl;
    cout<< result < sin > (1.5)<<endl;
    cout<< result(mysin,1.5)<<endl;

    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章