地图可以为每个项目设置不同的尺寸吗?

时间:2017-05-26 16:40:06

标签: c++ boost

我想在我工作的项目中使用增强单位,但在开始之前,我想检查它是否适合我想做的事情。我已经检查了文档和代码,但是我没有看到一个例子来向我保证我可以做我需要的东西。我是一名科学家,而不是程序员,所以我不熟悉其工作原理的细节。

我使用地图存储数量,数量有不同的尺寸。看起来数量必须与维度或单位相关联。有类似以下内容吗?

map<string, quantity<>> parameters;  // I don't know what to put here. Is there a class that represents a quantity without immediately specificying the dimension or unit?

parameters["distance"] = 2 * meters;
parameters["duration"] = 30 * seconds;

quantity<velocity> v = parameters.at("distance") / parameters.at("duration");

我的目标是一张具有数量最一般概念的地图,即带有单位的值。 而所有示例都包含具有值和特定单位的数量。

1 个答案:

答案 0 :(得分:1)

不,增强单位用于编译时间检查。动态选择的对象不能以这种方式轻松检查。

使用结构而不是地图。