문제가 발생하여 해결할 수없는 문제가 발생합니다.해당 값 중 하나를 사용하여 벡터에서 객체 찾기
class1
{
private:
int identifier;
double value;
public:
setters,getters,etc...
}
class2
{
private:
vector<class1> objects;
vector<int> some_value;
vector<double> other_value;
...
}
문제 난 (Class2의 구성원 기능으로부터)이 클래스 1 객체 식별자가 두 번째 클래스의 객체에서 객체의 벡터를 검색 할 필요가있다 : I는 두 개의 클래스를 갖는다. ..
int getObj(const int &ident, double &returnedValue, double &returnedOther_value)
{
int p;
p = find(objects.begin()->getIdentifier(),objects.end()->getIdentifier(),ident);
..
다음 나는 두 클래스에서 (const가 아닌) 멤버 변수 값과 OTHER_VALUE 대응의 발견 반복자 값에서 반환 할 수있는 방법을 찾으려했지만, 코드 그래서 : 내가 좋아하는 뭔가를 시도 지금까지는 검색을 모두 잘못했을 가능성이 높으므로 컴파일되지 않습니다. find (또는 다른 알고리즘)로이 작업을 수행 할 수있는 방법이 있습니까? 아니면 알고리즘없이 이전 작업 실현을 고수해야합니까?
에 예를 추가 한 당신은 const를 참조로'int's을 통과 할 필요가 없습니다. 그것들은 값에 의해 전달되므로 (원래의 값을 변경할 수는 없습니다), 값으로 int를 전달할 때 오버 헤드가 없습니다. – MikMik