关于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);
 } 
posted @ 2010-08-13 14:16  HarryChenThu  阅读(208)  评论(0编辑  收藏  举报