Fra*_*cis 3 c++ vector segmentation-fault
我有一个C++向量,它有一些空白元素.我想从向量中删除任何空字符串元素.我试过这段代码:
for (i = 0; i < myvector.size();i++) {
if (myvector[i] == "") {
myvector.erase(myvector.begin()+i);
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到一个分段错误.它有什么问题吗?或者此代码适用于任何人?
看来你想要通常的删除 - 删除习语:
#include <algorithm>
#include <functional>
myvector.erase(std::remove_if(myvector.begin(), myvector.end(),
std::mem_fn(&std::string::empty)),
myvector.end());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2467 次 |
| 最近记录: |