随笔 - 505  文章 - 1032  trackbacks - 0
<2018年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345


子曾经曰过:编程无他,唯手熟尔!

常用链接

留言簿(94)

随笔分类(649)

随笔档案(505)

相册

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

积分与排名

  • 积分 - 760800
  • 排名 - 14

最新随笔

最新评论

阅读排行榜

评论排行榜



 1
 template< int N, int Num >
 2 class PowN
 3 {
 4 public:
 5       enum
 6      {
 7           result = Num * PowN<- 1, Num>::result,
 8      };
 9 };
10 
11 template<int Num>
12 class PowN<0, Num> // 注意这里的特化方式
13 {
14 public:
15        enum
16        {
17            result = 1,
18        };
19 };
20 
21 // test case: 求3的平方
22 int main()
23 {
24     std::cout<<"PowN<2, 3>::result"<< PowN<23>::result << std::endl;
25     // 但是如果用变量作为模板参数的话,必须声明成常量
       const int n = 3;
       const int num = 10;

       std::cout<<"PowN<n, num>::result"<< PowN<n, num>::result << std::endl;

26      return 0;
27 }
28 

posted on 2006-10-26 15:36 七星重剑 阅读(859) 评论(1)  编辑 收藏 引用 所属分类: PL--c/c++

FeedBack:
# re: [metaprogramming] 求一个数Num的N次方  2018-07-12 00:01 七星重剑
还能这样,多年后的今天都不记得了  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理