是否有与replace
的值相同的函数,如erase
。如何根据向量中的值替换元素?
以下代码行现在删除BC
中存在的任何值。
vector<double> activeDof;
for (int i = 0; i < BC.size(); i++)
{
activeDof.erase(find(activeDof.begin(), activeDof.end(), BC[i]));
}
这会减少我的矢量大小,并在以后出错我的代码。我想要做的是将BC中的值替换为零。这样我的矢量中的元素数量仍然相同。我尝试使用替换函数,如下所示。
vector<double> activeDof;
for (int i = 0; i < BC.size(); i++)
{
replace(activeDof.begin(),activeDof.end(),BC[i],0);
}
我仍然在“替换”下面收到错误消息。有关如何根据矢量中的值替换元素的任何建议?
编辑:BC是另一个包含一些元素的向量。我想找出是否此元素是存在于载体activeDof和如果存在欲把这一0
什么是'BC'在你的代码中提到您可以修复你的代码? –
我觉得你把'BC'与'activeDof'混淆了?你正在执行替换元素的矢量'activeDof',但你期望'BC'的变化? “_我想要做的是用BC替换BC中的值_”? – Snps
BC是另一个包含一些元素的向量 – user6771484