Я пытаюсь получить индекс элемента в векторе strings
, чтобы использовать его как индекс в другом векторе типа int
, возможно ли это?
Пример:
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
имеет строку типа!