C++ 每个项目的地图尺寸是否不同?

C++ 每个项目的地图尺寸是否不同?,c++,boost,C++,Boost,我想在我工作的项目中使用boost单位,但在开始之前,我想检查它是否适合我想要做的事情。我已经检查了文档和代码,但是我没有看到一个示例可以保证我可以做我需要的事情。我是一名科学家,不是一名程序员,所以我不熟悉这项工作的细节 我使用地图来存储数量,数量有不同的维度。看起来数量必须与维度或单位关联。有可能出现以下情况吗 map<string, quantity<>> parameters; // I don't know what to put here. Is there

我想在我工作的项目中使用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");
映射参数;//我不知道该在这里放什么。是否有一个类表示数量而不立即指定尺寸或单位?
参数[“距离”]=2*米;
参数[“持续时间”]=30*秒;
数量v=参数。在(“距离”)/参数。在(“持续时间”);
我的目标是绘制一张包含最一般的数量概念的地图,即带有单位的值。
然而,所有示例都有带值和特定单位的数量。

否,boost单位用于编译时检查。动态选择的对象无法通过这种方式轻松检查


使用结构而不是映射。

按维度,是指类型吗?您是否试图在
参数
中使用不同的
T
参数存储
quantity
?您可能需要使用
map
虽然我认为在这种情况下无法使用结构,但这使我意识到我试图在错误的位置执行单元检查。非常感谢。