把[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;
}
本篇完!