在C++中,std::replace()
函数用于在容器中替换指定范围内的元素。
它的函数声明如下:
template< class ForwardIt, class T >
void replace( ForwardIt first, ForwardIt last, const T& old_value, const T& new_value );
参数解释:
first
和last
是迭代器,表示要替换的范围。old_value
是要被替换的值。new_value
是要替换的新值。函数功能:
std::replace()
会依次遍历[first, last)范围内的元素,并将与old_value
相等的元素替换为new_value
。
示例用法:
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5, 4, 3, 2, 1};
std::replace(numbers.begin(), numbers.end(), 3, 6);
for (int num : numbers) {
std::cout << num << " ";
}
// 输出: 1 2 6 4 5 4 6 2 1
return 0;
}
在上述示例中,std::replace(numbers.begin(), numbers.end(), 3, 6)
将容器numbers
中所有的值为3的元素替换为6。最后,我们遍历并输出修改后的容器元素。