swtich case怎么用字符串
时间: 2023-11-12 15:05:12 浏览: 59
在 C++ 中,switch case 是无法直接使用字符串的。但是可以通过将字符串转换为整数或枚举类型来实现类似 switch case 的功能。例如,可以使用 std::hash 函数将字符串转换为整数,然后使用 switch case 来判断整数的值。示例代码如下:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "apple";
size_t hash = std::hash<std::string>{}(str);
switch (hash) {
case std::hash<std::string>{}("apple"):
std::cout << "This is an apple!\n";
break;
case std::hash<std::string>{}("banana"):
std::cout << "This is a banana!\n";
break;
default:
std::cout << "Unknown fruit.\n";
break;
}
return 0;
}
```
请注意,这种方法的效率可能不如使用枚举类型,因为每次需要将字符串转换为整数。因此,如果您需要在程序中频繁地使用字符串作为 switch case 的值,建议使用枚举类型。
阅读全文