天天看點

fill詳解

fill:将區間[beg,end)賦新值

         // TEMPLATEFUNCTION fill

template<class _FwdIt,

         class_Ty> inline

         void_Fill(_FwdIt _First, _FwdIt _Last, const_Ty& _Val)

         {       // copy _Val through [_First, _Last)

         for (;_First != _Last; ++_First)

                   *_First = _Val;

         }

fin_n:将以beg開始的n個值賦新值

舉例:

int main()

{

         vector<int>vecInt;

         for ( int i = 0;i < 10;++ i)

         {

                   vecInt.push_back( i );

         }

         vector<int>vecIntOther;

         fill_n( back_inserter( vecIntOther),10,2 );

         fill(vecIntOther.begin(),vecIntOther.end() - 1,1 );

         copy( vecIntOther.begin(),vecIntOther.end(),ostream_iterator<int>( cout,"" ) );

         system( "pause");

         return0;

}