C++ 算法 fill()

30 Aug 2024 | 3 分钟阅读

C++ 算法 fill() 函数用于通过使用运算符=,将相同的“新值”分配给指定范围 [first, end) 中的每个元素。

注意:范围 [first, last) 表示 first 包含在范围内,但 last 不包含在范围内。

语法

参数

first:指向指定范围中第一个元素位置的前向迭代器。

last:指向要遍历的范围中最后一个元素之后位置的前向迭代器。

val:要分配给范围 [first, last) 中元素的值。

返回值

复杂度

复杂性与 first 和 last 之间的距离以及每个元素的赋值呈线性关系。

数据竞争

范围 [first1, last1) 中的对象被修改,其中每个对象都被访问一次。

异常安全

当元素赋值或迭代器上的操作抛出异常时,此函数会抛出异常。

请注意,无效参数会导致未定义行为。

示例 1

让我们看一个简单的例子来演示 fill() 的用法

输出

2,2,2,2,2,

示例 2

让我们看另一个简单示例

输出

myvector contains: 5 5 5 8 8 8 0 0

示例 3

让我们看另一个简单示例

输出

Vector v1 = ( 0 5 10 15 20 25 30 35 40 45 )
Modified v1 = ( 0 5 10 15 20 2 2 2 2 2 )

示例 4

让我们看另一个简单示例

输出

Vector before fill
 0  1  2  3  4  5  6  7  8  9 
Vector after fill
 0  1  2  3 -1 -1 -1  7  8  9

下一主题C++ 算法