基本的に、C++ で本当にコンパイル時の文字列ハッシュが必要です。テクニックの詳細は気にしません。テンプレート、マクロ、何でもかまいません。これまでに見た他のすべてのハッシュ手法は、実際のハッシュではなく、コンパイル時にハッシュテーブル (256 個の CRC32 ハッシュなど) しか生成できません。
言い換えれば、私はこれを持っている必要があります
printf("%d", SOMEHASH("string"));
(疑似アセンブラで)としてコンパイルされる
push HASHVALUE
push "%d"
call printf
デバッグ ビルドであっても、文字列に対するランタイム操作はありません。私は GCC 4.2 と Visual Studio 2008 を使用していますが、これらのコンパイラで問題なく動作するソリューションが必要です (したがって、C++0x はありません)。