我有以下結構:C++:如何檢查具有特定屬性的對象存在於一組
struct dependence {
dependence() {}
dependence(string CUid, LID sink, LID source, std::string var)
: CUid(CUid), sink(sink), source(source), var(var) {}
string CUid;
LID sink = 0;
LID source = 0;
std::string var;
};
現在我想插入此結構的物體在一組。我有與CUid
相同的對象,但(重要的!)其他屬性(sink
,source
,var
)可以不同。我想要防止在集合中插入與CUid
相同的對象。所以我知道的唯一方法是遍歷整個集合並檢查CUid
的每個對象。有更少的代碼來檢查這個更好的方法嗎?
使用自定義比較器的['的std :: set'](http://en.cppreference.com/w/cpp/container/set),其檢查'CUid'? –
定義比較中只使用CUid的自定義比較器(或者覆蓋struct的'<'運算符)。示例[here](https://stackoverflow.com/questions/16894700/c-custom-compare-function-for-stdsort)。 – hnefatl