我有一张地图:
std::map<std::string, bool> all_triggers_didfire;
我填充它,最终想要获取真实值的数量。以下代码有效:
int count_did_fire = std::count_if(
all_triggers_didfire.begin(),
all_triggers_didfire.end(),
[](std::pair<std::string, bool> p){return p.second;}
);
有没有比为此定义lambda表达式更简单的方法?
[](auto p) { return p.second; }
。 - Nim[](decltype(all_triggers)::value_type p) { return p.second; }
。 - rodrigostd::pair<const std::string, bool>
才能避免复制 :) - T.C.