我需要使用字符串作为ID来获取一些对象。在运行时实现这一点,并且可以正常工作。但是由于明显的原因,这使得静态类型检查变得不可能。
我已经在谷歌上搜索了计算编译时字符串哈希值的算法:使用Boost.MPL进行C ++编译时字符串哈希。
这似乎是解决我的问题的完美方案,除了必须将算法所需的字符串分成4个字符或逐个字符拆分的明显原因。
即,我将不得不以这种方式编写而不是通常的当前ID记录方式:
我已经在谷歌上搜索了计算编译时字符串哈希值的算法:使用Boost.MPL进行C ++编译时字符串哈希。
这似乎是解决我的问题的完美方案,除了必须将算法所需的字符串分成4个字符或逐个字符拆分的明显原因。
即,我将不得不以这种方式编写而不是通常的当前ID记录方式:
hash_cstring<boost::mpl::string<'obje', 'ct.m', 'etho', 'd'>>::value
这绝对是不能使用的。
问题是,如何正确传递像"object.method"
这样的字符串到该算法中?
谢谢大家。
#define str(n) struct n { ... }
- Anycorn