众所周知,C/C++ 语言中的 switch
-case
语句只支持整型数字的逻辑分支。因此,当我们需要对整型数字之外的变量进行分支判断时,就只能依赖 if
-else
语句了。例如:
1 | if (policy == "SINGLE") { |
这种情况下,虽然我们用 if
-else
语句实现了类似 switch
-case
语句的功能。但一方面写起来未免麻烦,分支多了难以维护;另一方面如果分支很多,那么执行起来需要注意进行字符串相等性判断,效率很低。因此,这篇文章尝试通过一些取巧的方式来解决这个问题。