编译unordered_map(哈希表)的时间创建也在编译时由类扩展

时间:2017-05-18 13:59:49

标签: c++ hashtable unordered-map compile-time

您好我有以下情况。

我使用的是c ++ 14,我有几个类,其对象通过JSON对象进行序列化。为了确定JSON文件所代表的对象的类,JSON具有className字段,该字段映射到类名的字符串,例如:

{
    ...,
    className: "class_one",
    ...,
}

我不想将每个字符串与每个可用类进行比较,而是使用哈希表std::unordered_map。问题是我需要手动创建一个哈希表,该表具有字符串的所有类映射到每个类的正确初始化函数(所有类都从这里继承相同的超类)。我想改为创建这个表的编译时间,并根据从前面提到的超类继承的每个新类添加新条目。这可能吗?

1 个答案:

答案 0 :(得分:0)

听起来很可行。查看CompileTimeArmor::StaticHashMap