11
编译时间字符串哈希
我在几个不同的地方读到,使用C ++ 11的新字符串文字可能在编译时计算字符串的哈希值。但是,似乎没有人愿意提出来,说这将是可能的或如何实现的。 这可能吗? 操作员会是什么样子? 我对这样的用例特别感兴趣。 void foo( const std::string& value ) { switch( std::hash(value) ) { case "one"_hash: one(); break; case "two"_hash: two(); break; /*many more cases*/ default: other(); break; } } 注意:编译时哈希函数不必看起来像我写的那样。我尽力猜测最终的解决方案是什么样的,但meta_hash<"string"_meta>::value也可能是可行的解决方案。
100
c++
metaprogramming
c++11
hash