一种快速,非侵入性的方法是使用lambda函数.如果您使用的是C++ 11或更高版本,则可以使用lambda,如下所示:
unsigned int numComparisons = 0U;
std::vector<unsigned int> someContainer;
// Fill container, etc.
std::sort(
std::begin(someContainer),
std::end(someContainer),
[&numComparisons]( unsigned int lhs, unsigned int rhs )
{
++numComparisons;
return lhs < rhs;
}
);
std::cout << numComparisons << " comparisons were performed in std::sort" << std::endl;
Run Code Online (Sandbox Code Playgroud)