我经常发现自己使用整数来表示不同“空间”中的值。例如...
int arrayIndex;
int usersAge;
int daysToChristmas;
理想情况下,我想为这些类型“索引”、“年”和“天”中的每一个设置单独的类,这样可以防止我不小心把它们混在一起。从文档的角度来看,Typedef 是一种帮助,但不够类型安全。
我已经尝试过包装类,但最终我喜欢的样板太多。是否有一个简单的基于模板的解决方案,或者在 Boost 中是否有现成的解决方案?
编辑:有几个人在他们的答案中谈到了边界检查。这可能是一个方便的副作用,但不是关键要求。特别是,我不仅想防止超出范围的分配,还想防止“不适当”类型之间的分配。