의 벡터에서 요소의 인덱스를 가져와 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유형 문자열 이기 때문에 작동하지 않습니다 !
나는이해야 추측 stackoverflow.com/questions/1425349/...
—
프란체스코 Vollero
std :: map 또는 std :: unordered_map을 확인해야합니다.
—
Etherealone