我遇到並且無法解決的問題就像這樣。我有兩類:通過其中一個值在向量中查找對象
class1
{
private:
int identifier;
double value;
public:
setters,getters,etc...
}
class2
{
private:
vector<class1> objects;
vector<int> some_value;
vector<double> other_value;
...
}
問題是我需要通過對象的矢量在第二類的一個目的是通過其標識符在Class對象搜索(從等級2的成員函數)。我想是這樣的:
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(或其他算法)來做到這一點,還是應該堅持我以前的工作實現而不使用算法?
添加了一個例子,您並不需要通過'int's爲const引用。它們是按值傳遞的(所以你不能改變原始值),並且在按值傳遞int時沒有開銷。 – MikMik 2012-03-07 11:15:55