function template
<algorithm>
std::replace
template <class ForwardIterator, class T> void replace (ForwardIterator first, ForwardIterator last, const T& old_value, const T& new_value);
Replace value in range
[first,last) that compare equal to old_value.
The function uses operator== to compare the individual elements to old_value.
The behavior of this function template is equivalent to:
|
|
Parameters
- first, last
- Forward iterators to the initial and final positions in a sequence of elements that support being compared and assigned a value of type T. The range used is
[first,last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last. - old_value
- Value to be replaced.
- new_value
- Replacement value.
Return value
noneExample
|
|
Output:
myvector contains: 10 99 30 30 99 10 10 99
Complexity
Linear in the distance between first and last: Compares each element and assigns to those matching.Data races
The objects in the range[first,last) are accessed and potentially modified.Exceptions
Throws if any of the element comparisons, element assignments or operations on iterators throw.Note that invalid arguments cause undefined behavior.
See also
- replace_if
- Replace values in range (function template)
- replace_copy
- Copy range replacing value (function template)
- remove
- Remove value from range (function template)
- count
- Count appearances of value in range (function template)
- find
- Find value in range (function template)