我的代码库有大量的魔术整数代表解决方案域中的实体。每个都有一组固定的属性,这些属性在编译时是已知的。我想使用这样的特征:
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...
我无法在书籍或网络上找到任何关于这个想法的评论。如果我这样做会发生什么坏事?我忽略了什么是惯用技术?