以下启动后:
#include <vector>
#include <algorithm>
struct OBJECT{
char VALUE;
int COUNTER;
}
vector <OBJECT> MyCollection;
vector <OBJECT> ::iterator begin,end;
char TEMP;
begin=MyCollection.begin();
end=MyCollection.end();
...我想使用 Find() 函数来搜索向量中 OBJECT 条目的 VALUE 字段,例如:
find (begin, end, TEMP);
(后来成功对找到的对象执行 COUNTER++)。
默认情况下这是不可能的,因为 TEMP 不是 OBJECT 类型,而是一个字符。
有任何想法吗?
作为一名学生,我无法将建议转换为工作代码,因此围绕 .at() 方法编写了自己的解决方案并删除了迭代器开始和结束。
int MyCollectionIterator=MyCollection.size();
while(1){
if(MyCollectionIterator){
if( MyCollection.at(--MyCollectionIterator).VALUE==TEMP ){
MyCollection[MyCollectionIterator].COUNTER++;
break;
}
}else break;
}