switch case判断字符串
时间: 2023-11-10 20:16:09 浏览: 193
在C++中,switch case语句只能用于判断整数类型,不能直接用于字符串的判断。不过可以通过字符串的哈希值来实现类似于字符串的switch case判断。具体实现可以使用 std::hash 函数来获取字符串的哈希值,然后再根据哈希值进行判断,实现代码如下:
```c++
#include <iostream>
#include <functional>
int main() {
std::string str = "hello";
std::size_t hash = std::hash<std::string>{}(str);
switch (hash) {
case std::hash<std::string>{}("hello"):
std::cout << "Hello World!" << std::endl;
break;
case std::hash<std::string>{}("world"):
std::cout << "Hello World!" << std::endl;
break;
default:
std::cout << "Unknown string." << std::endl;
break;
}
return 0;
}
```
值得注意的是,由于哈希值可能会发生冲突,因此在实际使用过程中需要进行严格的测试和验证,确保程序的正确性。
阅读全文