关于STL中几个比较费解的参数类型
其实也没搞太懂,希望有人能给详细解释一下。
首先是_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);
}

浙公网安备 33010602011771号