我有一个对象向量,我想返回其属性具有特定值的元素范围。这是结构:
class A {
public:
std::vector<B*> vec_;
pair<vector<B*>::iterator, vector<B*>::iterator> getElements(unsigned int attr_val);
unsigned int name() { return name_; }
private:
unsigned int name_;
};
class B {
public:
unsigned int attr() { return attr_; }
A* source() { return source_; }
B* dest() { return dest_; }
private:
A* source_;
B* dest_;
unsigned int attr_;
};
该向量vec_
已经按attr_
and排序dest_->name()
(按该顺序)。现在我想返回所有attr_
等于attr_val
.
什么是合适的 stl 算法(或者甚至有向量成员函数?)来实现getElements(unsigned int attr_val)
?