Question querry

What will be the output of the following C++ code?

#include
#include
#include
using namespace std;
int main()
{
sets;
s.insert(1);
s.insert(5);
s.insert(7);
s.insert(2);
s.insert(12);
s.insert(10);
auto it = s.lower_bound(15);
cout<< *it <<endl;
return 0;
}

How does it return 6

6 is the index
as 15 doesn’t in the set so lower_bound will be after last index

for more about lower_bound you can refer here

But output was it* not it so how index will be given as output

generally lower_bound returns an iterator but
If all the elements in the range compare less than val then function returns last

I hope I’ve cleared your doubt. I ask you to please rate your experience here
Your feedback is very important. It helps us improve our platform and hence provide you
the learning experience you deserve.

On the off chance, you still have some questions or not find the answers satisfactory, you may reopen
the doubt.