如何分配一个值向量的第n个元素? 说,我要分配1到向量从索引0到索引4。
我已经有尺寸为11的向量现在我希望把1至前5个元素。
如何分配一个值向量的第n个元素? 说,我要分配1到向量从索引0到索引4。
我已经有尺寸为11的向量现在我希望把1至前5个元素。
您可以使用std::fill
或std::fill_n
:
std::fill(v.begin(), std::next(v.begin(), 5), 1);
std::fill_n(v.begin(), 5, 1);
注: std::next
是C ++ 11。 在这种情况下,可以通过更换v.begin() + 5
。
如果你想构建充满这样的一个载体,应用合适的构造函数:
std::vector<int> v(5,1);
这产生5个整数值为1。
您可以使用的std ::填写
根据文档:
template< class ForwardIt, class T >
void fill(ForwardIt first, ForwardIt last, const T& value)
{
for (; first != last; ++first) {
*first = value;
}
}
你可以做:
std::fill(v.begin(), v.begin() +5, 1) ;//assume you fill 1 from index 0 to 4(included)