gpt4 book ai didi

c++ - 从 Vector 中删除行

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:28 25 4
gpt4 key购买 nike

我正在尝试根据以下条件从 vector 中删除行:如果列值等于字符串“NULL”,则应删除整行。但是它似乎不起作用。我正在尝试按如下方式删除行:

for (row = MACRECORDARRAY.begin(); row != MACRECORDARRAY.end(); row++) {
for (col = row->begin(); col != row->end(); col++) {
if (*col == "NULL") {
MACRECORDARRAY.erase(row);
}
}
}

最佳答案

从 vector 中删除满足谓词的所有元素的正确方法是删除-删除习惯用法:

MACRECORDARRAY.erase(
std::remove_if(MACRECORDARRAY.begin(), MACRECORDARRAY.end(), [](const auto& row) {
for(const auto& col : row){
if(col == "NULL") { return true; }
}
return false;
}), MACRECORDARRAY.end());

关于c++ - 从 Vector 中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com