如果对删除的iterator进行自增

发布时间:2024-05-10 12:33 发布:上海旅游网

问题描述:

如果对删除的iterator进行自增犯错误没?关键代码如下:
typedef vector<CTask> TASK_LIST;
typedef vector<CTask>::iterator TASK_ITERATOR;

。。。。。
TASK_ITERATOR it2=m_TaskFnshList.begin();
m_TaskFnshList.erase(it2);
--it2;
这种操作是否会引起不可预料的错误呀?
我想说的是:it2指针,最后一句操作是否合法?或者说是否具有意义(语义是否有意义)。

问题解答:

错误就是无法显示

干嘛要这样做啊……

it2 = m_TaskFnshList.erase(it2);

不就行了嘛~~it2就是删除当前结点后的下一个结点的迭代器了

热点新闻