在c ++中使用泛型类型映射键的好方法?

时间:2017-11-17 16:15:29

标签: c++ dictionary set containers generic-programming

我想用一个“泛型”值映射一个键,我的意思是它可以是int,float,char,string等等。

特别是我要这样做,因为我在模型中接收转换后的CAN数据,可能的类型是(当前)int,float和string。

第一个想法是创建一个可以以不同方式实现的抽象对象(每个设备类型一个),然后将其放在容器中(地图或集合)。

我认为将它作为“通用类型”的值更轻,更高效,因此当数据来自CAN总线时,容器将自动构建而无需创建新的特殊对象。

目前我尝试以这种方式使用unordered_map:

std::unordered_map<std::string, std::any> devicesMap;

但我意识到它只能在版本的C ++中使用。

我想知道这种情况是否有一个好的解决方案。

0 个答案:

没有答案