admin 管理员组

文章数量: 1184232


2024年3月20日发(作者:图片的可编辑格式)

vector 的replace的用法

在C++中,可以使用replace()函数来替换vector容器中的元素。replace()函

数有多种重载形式,下面是其中两种常用的用法:

1. 替换所有匹配元素:

cpp

void replace(iterator first, iterator last, const T& old_value, const T&

new_value);

这种用法将[first, last)区间内的所有等于old_value的元素替换为new_value。

例如:

cpp

std::vector vec = {1, 2, 3, 2, 4, 2};

std::replace((), (), 2, 5);

替换所有等于2的元素为5

vec = {1, 5, 3, 5, 4, 5}

2. 替换满足条件的元素:

cpp

template< class T, class UnaryPredicate >

void replace_if(iterator first, iterator last, UnaryPredicate p, const T&

new_value);

这种用法将[first, last)区间内满足谓词p条件的元素替换为new_value。

例如:

cpp

std::vector vec = {1, 2, 3, 4, 5};

std::replace_if((), (), [](int num) { return num > 3; }, 10);

替换所有大于3的元素为10

vec = {1, 2, 3, 10, 10}

需要注意的是,在使用replace()函数时,必须保证vector容器内的元素类型和

替换值的类型相同,否则会出现类型错误。


本文标签: 元素 替换 图片 容器 函数