我的代码库有大量代表解决方案域中实体的魔术整数。每个都有一组固定的属性,这些属性在编译时是已知的。我想使用这样的特征:
const int Foo = 1234;
const int Bar = 5678;
// and so on...
template <int N> struct Traits;
template<> struct Traits<Foo>
{
static const int val = 42;
};
template<> struct Traits<Bar>
{
static const int val = 23;
};
// and so on...
我在书籍或网络上找不到任何关于这个想法的评论。如果我这样做会发生什么坏事?我忽略的惯用技巧是什么?