私はSTL形式のセットを持って設定します私のために。C++のstdのネストされたペアの検索対象は、::
タイプunsigned
の要素は、セット内の内側のペアの最初の要素でのみ検索できますか?
私は以下のアプローチを試みましたが、うまくいきませんでした。 elem
はpair
に、参照ではなく、ポインタであるため、
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
});
' - >'にはポインタまたはイテレータのみを残す必要があります。 'elem'もどちらでもない - それは'ペア 'です。 – aschepler
このケースの代替アプローチは何でしょうか? @aschepler –
このような複雑な構造は実際のライブでは決して意味をなさない...それは、あなたが複数の最初と2番目を持っているので、コードを維持するのを難しくする...また、それはあなたが望むほど効率的でないかもしれない...なぜあなたが項目を見つけるためにキーを使わないならば、セットを使用してください。 – Phil1970