相关疑难解决方法(0)

模板元编程 - 使用Enum Hack和静态Const的区别

我想知道在使用模板元编程技术时使用静态const和枚举黑客有什么区别.

EX :(斐波那契通过TMP)

template< int n > struct TMPFib {
  static const int val =
    TMPFib< n-1 >::val + TMPFib< n-2 >::val;
};

template<> struct TMPFib< 1 > {
  static const int val = 1;
};

template<> struct TMPFib< 0 > {
  static const int val = 0;
};
Run Code Online (Sandbox Code Playgroud)

template< int n > struct TMPFib {
  enum {
    val = TMPFib< n-1 >::val + TMPFib< n-2 >::val
  };
};

template<> struct TMPFib< 1 > {
  enum { val = …
Run Code Online (Sandbox Code Playgroud)

c++ templates metaprogramming

54
推荐指数
2
解决办法
6268
查看次数

标签 统计

c++ ×1

metaprogramming ×1

templates ×1