int main()
{
vector<string> v;
v.push_back("aaabbb");
auto tmp = v.begin();
v.erase(tmp);
v.erase(tmp);
cout << "结束" << endl;
}
这段程序,为什么没生成dump文件?
该C++代码段创建了一个vector,向其中添加了一个元素,然后尝试使用begin()返回的迭代器进行两次erase操作。这可能导致未定义的行为,因为第一次erase后迭代器失效,第二次erase可能错误地删除其他元素或引发异常,从而不产生dump文件。
int main()
{
vector<string> v;
v.push_back("aaabbb");
auto tmp = v.begin();
v.erase(tmp);
v.erase(tmp);
cout << "结束" << endl;
}
这段程序,为什么没生成dump文件?

被折叠的 条评论
为什么被折叠?
