/* 	// TEMPLATE FUNCTION adjacent_find template<class _FwdIt> inline 	_FwdIt _Adjacent_find(_FwdIt _First, _FwdIt _Last) 	{	// find first matching successor 	_DEBUG_RANGE(_First, _Last); 	for (_FwdIt _Firstb; (_Firstb = _First) != _Last && ++_First != _Last; ) 		if (*_Firstb == *_First) 			return (_Firstb); 	return (_Last); 	}  template<class _FwdIt> inline 	_FwdIt adjacent_find(_FwdIt _First, _FwdIt _Last) 	{	// find first matching successor 	_ASSIGN_FROM_BASE(_First, 		_Adjacent_find(_CHECKED_BASE(_First), _CHECKED_BASE(_Last))); 	return (_First); 	} 	*/   //*********************by vincent http://my.csdn.net/sunboyiris  ************************// #include "stdafx.h" #include "algorithm" #include "list" #include "iostream" using namespace std;  bool fun(int x) {return x%3?false:true;} int _tmain(int argc, _TCHAR* argv[]) { 	list<int> l; 	for(int i=100;i<110;i++) 	{ 	l.push_back(i); 	}     for(int i=109;i<116;i++) 	{ 	l.push_back(i); 	} 	//引用指针 	int count1=0; 	list<int>::iterator iter; 	for(iter=l.begin();iter!=l.end();iter++) 	{  	count1++;cout<<*iter<<endl; 	} 	cout<<count1<<endl;  	 	list<int>::iterator iter1=adjacent_find(l.begin(),l.end()); 	if(iter1!=l.end()) 	{ 	cout<<"有相邻的元素相等"<<endl; 	cout<<"其元素为"<<*(iter1)<<" "<<*(++iter1)<<endl; 	} 	return 0; }