История изменений
Исправление xperious, (текущая версия) :
inline constexpr std::uint32_t fnv1a(const char* str, std::uint32_t hash = 2166136261UL) {
return *str ? fnv1a(str + 1, (hash ^ *str) * 16777619ULL) : hash;
}
int main() {
std::string s = "bb";
switch (fnv1a(s.c_str())) {
case fnv1a("a"): std::cout << "A\n"; break;
case fnv1a("bb"): std::cout << "B\n"; break;
case fnv1a("ccc"): std::cout << "C\n"; break;
};
}
код не мой, отсюда: https://ru.stackoverflow.com/questions/7920/switch-%d0%b4%d0%bb%d1%8f-string
Исходная версия xperious, :