多集 stl 中的下界

Swa*_*tak 3 c++ stl multiset c++11

我试图通过使用以下方法找出多集中有多少元素小于某个 X:

mset.lower_bound(X) - mset.begin()
Run Code Online (Sandbox Code Playgroud)

但它没有用。任何解决方法?

Jar*_*d42 5

您可以使用:

std::distance(mset.begin(), mset.lower_bound(X));
Run Code Online (Sandbox Code Playgroud)

要使其健壮,请使用:

size_t count = 0;
auto found = mset.lower_bound(X);
if ( found != mset.end() )
{
   count = std::distance(mset.begin(), found);
}
Run Code Online (Sandbox Code Playgroud)