其实也没搞太懂,希望有人能给详细解释一下。
首先是_Iter,比如:
set::insert(_Iter _First,_Iter _Last);
_Iter的解释是可以转换为指针类型的....反正指针确实是可以的,常量是不行的...
其次是算法库里常见的一种类型:_InIt
比如find(_InIt _First,_InIt _Last,const _Ty& _val);
_InIt的解释是也是可以转换为指针的
下面是代码
inline const unsigned char *_Find(const unsigned char *_First, const unsigned char *_Last, int _Val) { // find first unsigned char that matches _Val _DEBUG_RANGE(_First, _Last); _First = (const unsigned char *)::memchr(_First, _Val, _Last - _First); return (_First == 0 ? _Last : _First); } template<class _InIt, class _Ty> inline _InIt find(_InIt _First, _InIt _Last, const _Ty& _Val) { // find first matching _Val _ASSIGN_FROM_BASE(_First, _Find(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Val)); return (_First); }