模板元编程神奇的东西.....

真体现了图灵完备性

 

代码
/* ********************************************************************** */
/*  模板元编程
/***********************************************************************
*/

#include 
" stdafx.h "
#include 
< iostream >
using   namespace  std;

// 原始摸板
template < int  Base,  int  Exponent >
class  XY
{
public :
    
enum  { result_  =  Base  *  XY < Base, Exponent - 1 > ::result_ };
};

// 用于终结递归的局部特化版
template < int  Base >
class  XY < Base,  0 >  
{
public :
    
enum  { result_  =   1  };
};

int  _tmain( int  argc, _TCHAR *  argv[])
{    
    std::cout 
<<   " X^Y<5, 4>::result_ =  "   <<  XY < 5 4 > ::result_;

    getchar();
    
return   0 ;
}

 

 

你可能感兴趣的:(元编程)