#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> a = {1,2,3,7,1,5,4};
vector<int> b = {6,7,4,3,3,1,7};
a.erase(remove(a.begin(),a.end(),a[0]),a.end());
b.erase(remove(b.begin(),b.end(),b[0]),b.end());
return 1;
}
对于这个特定的例子,我的 GNU gdb Ubuntu 7.7.1 声明在返回 1 行: a = {2,3,7,1,5,4} 不是预期的(只删除一个 1),并且 b = {7 ,4,3,3,1} 这不是预期的。
我的期望是 b 应该是 a=2,3,7,5,4 和 b=7,4,3,3,1,7。
这里发生了什么事?