C++ 从字符串名确定数组数

C++ 从字符串名确定数组数,c++,arrays,string,C++,Arrays,String,例如,我有这样的数组: name[0] = "Griffin"; name[1] = "David"; name[2] = "John"; name[3] = "Abigail"; 然后我将文件名按此顺序排列 John David Abigail Griffin 如何确定哪个数组号包含名称John,只需读取它的名称,而无需对每个条目运行循环并检查with语句,因为我将有更多的名称。而不是使用普通数组使用std::map 编辑: 小例子 map <string, int> n

例如,我有这样的数组:

name[0] = "Griffin";
name[1] = "David";
name[2] = "John";
name[3] = "Abigail";
然后我将文件名按此顺序排列

John
David
Abigail
Griffin

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

而不是使用普通数组使用
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
地图名称;
字符串arr[]={“格里芬”、“大卫”、“约翰”、“阿比盖尔”};
对于(int i=0;i<3;++i)
{
名称[arr[i]]=i;
}

std::cout使用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
地图名称;
字符串arr[]={“格里芬”、“大卫”、“约翰”、“阿比盖尔”};
对于(int i=0;i<3;++i)
{
名称[arr[i]]=i;
}
std::cout@Templar:Include
标题。@Templar:Include
标题。