Tôi đang cố gắng lấy chỉ mục của một phần tử trong một vectơ strings, để sử dụng nó làm chỉ mục trong một vectơ khác cùng intloại, điều này có khả thi không?
Thí dụ:
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);
}
Bây giờ tôi muốn lấy vị trí của old_nametrong Namesvectơ, để sử dụng nó trong việc truy cập phần tử nhất định trong Numbersvectơ. Vì vậy, tôi có thể nói:
Numbers[position] = 3 ; // or whatever value assigned here.
Tôi đã thử sử dụng:
vector <string> :: const_iterator pos;
pos = (find(Names.begin(), Names.end(), old_name_))
Numbers[pos] = 3;
nhưng rõ ràng điều này không hoạt động vì poslà kiểu chuỗi!