stl - unexpected output from C++ multiset lower_bound -
wondeirng why below code returns 1
? never insert 1
multiset
container.
#include <iostream> #include <set> int main () { std::multiset<int> mymultiset; std::multiset<int>::iterator itlow; mymultiset.insert(-3); itlow = mymultiset.lower_bound (3); std::cout << *itlow << endl; // output 1 return 0; }
mymultiset.lower_bound(3)
returns lowest location in container 3
go, , that's @ end of container. itlow
equal mymultiset.end()
, , not dereferenceable. std::cout << *itlow
has undefined behavior.
Comments
Post a Comment