Studying a little about STL I came across the
std::sort function that can receive a comparison function.
template< class RandomIt, class Compare > void sort( RandomIt first, RandomIt last, Compare comp );
How does this comparison function work? And how is it used?
In C ++ std :: sort is an “algorithm”, not a function. That is, std :: sort is a generic function declared as a template.
The use of the comparison function is necessary when there is no intrinsic order to be used when comparing the elements. This intrinsic order would be defined by the operator “<“.
In the example below, it is not possible to compare two instances of the Person class: it is not possible to do “if (p1