把[first,last)之间的元素填充为val。
template<class ForwardIterator, class Type>
void fill(
ForwardIterator first, //起始迭代器
ForwardIterator last,  //结束迭代器
const Type& val        //设置的值
);
源码剖析
template<class ForwardIterator, class Type>
void fill(
ForwardIterator first,    //起始迭代器
ForwardIterator last,     //结束迭代器
const Type& val           //设置的值
)
{for( ; first!=last; ++first)//遍历整个区间*first = val;           //设为val值
}
应用举例
//输出vector的所有元素
template<typename T>
void Show(const vector<T>& v)
{for (auto x : v)cout << x << " ";cout << endl;   
}int main()   
{vector <int> v{1,2,3,4,5,6,7,8,9,10};   cout << "v:      "; Show(v);   fill(v.begin() + 5, v.end(), 2);//从第5个元素到最后,填充为2   cout << "修改后v:"; Show(v);   return 0;   
}本篇完!