从字符串名称确定数组编号

时间:2011-02-26 11:45:01

标签: c++ arrays string

例如我有这样的数组:

name[0] = "Griffin";
name[1] = "David";
name[2] = "John";
name[3] = "Abigail";

然后我有按此顺序排序的文件名

John
David
Abigail
Griffin

如何确定哪个数组编号包含名称John,只需读取它的名称并且不为每个条目运行循环并使用语句检查,因为我将有更多名称。

1 个答案:

答案 0 :(得分:5)

使用std::map

而不是使用普通数组

编辑:

琐碎的例子

   map <string, int> name;
   std::string arr[] = {"Griffin", "David", "John", "Abigail"};
   for(int i=0;i < 3;++i)
   {
       name[arr[i]] = i;
   }
   std::cout <<name["John"]; //prints 2