How do I find the largest int in a std::set<int>?

What comparator are you using?

For the default this will work:

if(!myset.empty())
    *myset.rbegin();
else
    //the set is empty

This will also be constant time instead of linear like the max_element solution.


Sets are always ordered. Assuming you are using the default comparison (less), just grab the last element in the set. rbegin() might be useful.


I believe you are looking for std::max_element:

The max_element() function returns an iterator to the largest element in the range [start,end).


Since set sorts the element in ascending order by default, just pick up the last element in the set.