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