首页 > 编程语言 > 详细

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

时间:2015-04-05 21:59:41      阅读:395      评论:0      收藏:0      [点我收藏+]

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语句编译时运行

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!