比较更多50个字符串的有效方法

轮缘

我有采用两个参数一个作为string和另一个作为的方法int

该字符串必须与50个以上的字符串进行比较,一旦找到匹配项,则需要使用硬编码字符串映射int值,如下例所示

例如:

  string Compare_Method(std::string str, int val) {

     if(str == "FIRST")
{
  std::array<std::string, 3> real_value = {"Hello1","hai1","bye1"}
  return real_value[val];
}

     else if(str == "SECOND")
{
  std::array<std::string, 4> real_value = {"Hello2","hai2","bye2"}
  return real_value[val];
}

     else if(str == "THIRD")
{
  std::array<std::string, 5> real_value = {"Hello3","hai3","bye3"}
  return real_value[val];
}

//----- 50+ else if

}

我的方法如上所述。什么是有效的方法

1.比较50个以上的字符串。

2.为每个if案例创建std :: array

编辑:std :: array大小不固定,可以是上面编辑的3、4、5。

泽雷格斯

这就是我这样做的方式。数据结构仅创建一次,访问时间应足够快

#include <iostream>
#include <string>
#include <array>
#include <unordered_map>

std::string Compare_Method(const std::string& str, int val)
{
    //                                  or std::vector<std::string>
    static std::unordered_map<std::string, std::array<std::string, 3>> map
    {
        {  "FIRST", { "Hello1", "hail1", "bye1" }},
        { "SECOND", { "Hello2", "hail2", "bye2" }},
        {  "THIRD", { "Hello3", "hail3", "bye3" }},
        // 50+ more
    };

    // maybe check if str is present in the map

    return map[str][val];
}

int main()
{
    std::cout << Compare_Method("SECOND", 1) << std::endl;
}

如果std::unordered_map不够(快速),那么您可以提出某种静态的最佳哈希结构,因为键是在编译时知道的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查给定字符串是否等效于给定字符串集中至少一个字符串的有效方法

来自分类Dev

替换字符串中多个字符的最有效方法

来自分类Dev

计算字符串中某个字符出现的有效方法?

来自分类Dev

转换bash或R中每N个字符串的有效方法

来自分类Dev

javascript:检查字符串是否有 2 个字符的有效方法是什么?

来自分类Dev

在JavaScript中,确定字符串中第一个字符的最有效方法是:startsWith,charAt或[0]

来自分类Dev

将多个链接记录中的多个字符串串联成每个记录链单个字符串的有效方法

来自分类Dev

如何测试一个字符串是有效日期还是不使用矩?

来自分类Dev

如何有效地连接多个字符串从每一个对象列表变量?

来自分类Dev

在java中使用两个字符串构建密钥的有效方法?

来自分类Dev

有没有一种有效的方法可以用另一个字符串覆盖索引处的字符串?

来自分类Dev

搜索整个字符串值字典是否有效?

来自分类Dev

如何有效地建立这个字符串?

来自分类Dev

在Python中将日期时间字符串(2016年7月25日11:51:32 PM)转换为另一个字符串(YYYYMMDD)的最有效方法

来自分类Dev

MySQL:如何有效地选择只有一个字符差异的字符串?

来自分类Dev

比较R中的2个字符串

来自分类Dev

C:比较2个字符串

来自分类Dev

比较2个字符串数组

来自分类Dev

diff命令比较2个字符串?

来自分类Dev

有效地找到以另一个字符串开头的List <string>的所有元素

来自分类Dev

使用python在两个字符串中搜索相似单词(具有指定长度)的有效方法

来自分类Dev

另一个字符串未被识别为有效的DateTime和XML元素

来自分类Dev

如何在 JavaScript 中的字符串数组中有效地查找包含另一个字符串的组字符串?

来自分类Dev

将一个字符串与另一个字符串进行比较的最佳方法是什么?

来自分类Dev

C#比较4个字符串并忽略空字符串的最佳方法

来自分类Dev

比较字符串数组和另一个字符串数组的优雅方法

来自分类Dev

C#比较4个字符串并忽略空字符串的最佳方法

来自分类Dev

列表中更有效的字符串比较

来自分类Dev

获得两个字符串之间的对称差异的最佳有效方法是什么(在python中)?

Related 相关文章

  1. 1

    检查给定字符串是否等效于给定字符串集中至少一个字符串的有效方法

  2. 2

    替换字符串中多个字符的最有效方法

  3. 3

    计算字符串中某个字符出现的有效方法?

  4. 4

    转换bash或R中每N个字符串的有效方法

  5. 5

    javascript:检查字符串是否有 2 个字符的有效方法是什么?

  6. 6

    在JavaScript中,确定字符串中第一个字符的最有效方法是:startsWith,charAt或[0]

  7. 7

    将多个链接记录中的多个字符串串联成每个记录链单个字符串的有效方法

  8. 8

    如何测试一个字符串是有效日期还是不使用矩?

  9. 9

    如何有效地连接多个字符串从每一个对象列表变量?

  10. 10

    在java中使用两个字符串构建密钥的有效方法?

  11. 11

    有没有一种有效的方法可以用另一个字符串覆盖索引处的字符串?

  12. 12

    搜索整个字符串值字典是否有效?

  13. 13

    如何有效地建立这个字符串?

  14. 14

    在Python中将日期时间字符串(2016年7月25日11:51:32 PM)转换为另一个字符串(YYYYMMDD)的最有效方法

  15. 15

    MySQL:如何有效地选择只有一个字符差异的字符串?

  16. 16

    比较R中的2个字符串

  17. 17

    C:比较2个字符串

  18. 18

    比较2个字符串数组

  19. 19

    diff命令比较2个字符串?

  20. 20

    有效地找到以另一个字符串开头的List <string>的所有元素

  21. 21

    使用python在两个字符串中搜索相似单词(具有指定长度)的有效方法

  22. 22

    另一个字符串未被识别为有效的DateTime和XML元素

  23. 23

    如何在 JavaScript 中的字符串数组中有效地查找包含另一个字符串的组字符串?

  24. 24

    将一个字符串与另一个字符串进行比较的最佳方法是什么?

  25. 25

    C#比较4个字符串并忽略空字符串的最佳方法

  26. 26

    比较字符串数组和另一个字符串数组的优雅方法

  27. 27

    C#比较4个字符串并忽略空字符串的最佳方法

  28. 28

    列表中更有效的字符串比较

  29. 29

    获得两个字符串之间的对称差异的最佳有效方法是什么(在python中)?

热门标签

归档