码迷,mamicode.com
首页 > 编程语言 > 详细

c++模板元编程五:switch/case语句编译时运行

时间:2015-04-05 22:02:23      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:c++   metaprogramming   

2.4 switch/case 替代

现在模拟switch/case语句,不过也是在编译期运行。先看调用代码和输出结果

// test case
cout << "test case" << endl;
Case<2>::Run();
test case
case 2

实现代码很简单,还是模板特化

template<int v>
class Case {
public:
  static inline void Run() {
    cout << "default case" << endl;
  }
};
template<>
class Case<1> {
public:
  static inline void Run() {
    cout << "case 1" << endl;
  }
};

template<>
class Case<2> {
public:
  static inline void Run() {
    cout << "case 2" << endl;
  }
};

c++模板元编程五:switch/case语句编译时运行

标签:c++   metaprogramming   

原文地址:http://blog.csdn.net/csfreebird/article/details/44891047

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!