我熟悉模板元编程,我开始研究Boost Mpl示例。
我发现dimensional analysis example特别有趣。
现在,维度是typedef,如下所示:
typedef mpl::vector_c<int,1,0,0,0,0,0,0> mass;
typedef mpl::vector_c<int,0,1,0,0,0,0,0> length; // or position
typedef mpl::vector_c<int,0,0,1,0,0,0,0> time;
typedef mpl::vector_c<int,0,1,-1,0,0,0,0> velocity;
手动定义容易出错,特别是如果要将概念应用于其他域(SI除外)。我想知道,是否可以在不使用显式定义的情况下输入定义速度?换句话说,我可以仅使用长度和时间typedef来输入定义速度吗?