模板函数sort有两个重载版本
template<class _RanIt> inline
void sort(_RanIt _First, _RanIt _Last);
template<class _RanIt,
class _Pr> inline
void sort(_RanIt _First, _RanIt _Last, _Pr _Pred);
第一个版本使用小于操作符(operator<),第二个版本使用自定义的二元谓词(binary predicate)
其功能是实现一个区间内的元素的不稳定快速排序,下面针对源代码进行注释说明,以第一个版本为例
template<class _RanIt> inline
void sort(_RanIt _First, _RanIt _Last)
{ // order [_First, _Last), using operator<
_DEBUG_RANGE(_First, _Last);
std::_Sort(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Last - _First);
}
_Sort 函数,_ISORT_MAX == 32
template<class _RanIt,
class _Diff> inline
void _Sort(_RanIt _First, _RanIt _Last, _Diff _Ideal)
{ // order [_First, _Las