此时website我发现了一种有趣的方法来创建带有字符串的 switch 语句。然而,这看起来确实很漫长。我想知道是否可以将特定字符串转换为可在 switch 语句中使用的整数。
所以伪代码会是这样的
QString str = "spinbox_1";
switch stoi( str )
case 1543:
//code here
case 2343:
//code here
case 3424:
//code here
最佳答案
正如 @Slava 提到的,这并不容易实现。作者在上述链接中提供的解决方案可能是最实用的解决方案。但是,如果由于某种原因您确实需要以其他方式进行操作并将字符串转换为十进制数,则可以使用散列方法。请引用下面广泛使用的cityhash(显然你可以使用任何其他哈希函数)。 https://github.com/google/cityhash
这可能与以下内容重复: How can I hash a string to an int using c++?
关于c++ - (C++/QT) 通过将字符串转换为 int 来使用带有字符串的 switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38335970/