我想要得到一个向量strings
中的一个元素的索引,将它用作另一个向量int
类型的索引,这可能吗?如何获取字符串向量中某个元素的位置,将其用作ints向量中的索引?
例子:
vector <string> Names;
vector <int> Numbers;
...
// condition to check whether the name exists or not
if((find(Names.begin(), Names.end(), old_name_)) != Names.end())
{ // if yes
cout <<"Enter the new name."<< endl;
cin >> name;
replace(Names.begin(), Names.end(), old_name_, name);
}
现在我想要得到的old_name
位置在Names
载体,在Numbers
向量访问某些元素来使用它。所以,我可以说:
Numbers[position] = 3 ; // or whatever value assigned here.
我试着使用:
vector <string> :: const_iterator pos;
pos = (find(Names.begin(), Names.end(), old_name_))
Numbers[pos] = 3;
但显然,这并不工作,因为pos
是字符串类型!
我想这应该http://stackoverflow.com/questions/1425349/how-do- i-find-an-element-position-in-stdvector – 2013-02-26 21:52:37
你应该检查出std :: map或std :: unordered_map。 – Etherealone 2013-02-26 21:56:43