如何分配一个值向量的第n个元素? C ++(How to assign a value to t

2019-10-18 10:37发布

如何分配一个值向量的第n个元素? 说,我要分配1到向量从索引0到索引4。

我已经有尺寸为11的向量现在我希望把1至前5个元素。

Answer 1:

您可以使用std::fillstd::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



Answer 2:

如果你想构建充满这样的一个载体,应用合适的构造函数:

std::vector<int> v(5,1);

这产生5个整数值为1。



Answer 3:

您可以使用的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)


文章来源: How to assign a value to the first n elements of a vector? c++