簡體   English   中英

C ++在std :: set的嵌套對中搜索對象

[英]C++ Searching object in nested pair of an std::set

我有一組STL類型:

std::set< std::pair< double, std::pair< unsigned, vector< unsigned > > > > X

我知道我可以通過更改數據結構來簡化事情,但這對我來說不是一個選擇。

如何僅在集合中內部對的前unsigned元素中搜索unsigned類型的元素?

我嘗試了以下方法,但不起作用。

auto it = std::find_if(X.begin(), X.end(), [value_searching]
(const std::pair<double, std::pair< unsigned, vector< unsigned > >& elem) {
return elem->second.first == value_searching
        });

您需要使用. 而不是-> ,因為elempair的引用,而不是指針。

auto it = std::find_if(X.begin(), X.end(), [value](auto& elem) {
  return elem.second.first == value;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM