标签:写法 容器 不同的 erase bsp https 需要 logs 代码实现
以下代码实现了从表中删除重复项的功能,请选择其中空白行应填入的正确代码(D)
template<typename T>
void removeDuplicates(list<T> &aList)
{
    T curValue;
    list<T>::iterator cur, p;
    cur = aList.begin();
    while (cur != aList.end())
    {
        curValue = *cur;
        //空白行
        while (p != aList.end())
        {
            if (*p == curValue)
            {
                //空白行
            }
            else
            {
                p++;
            }
        }
    }
}
A、p=curr+1;aList.erase(p++);
B、p=++curr;aList.erase(p++);
C、p=curr+1;aList.erase(p);
D、p=++curr;aList.erase(p);
当使用一个容器的insert或者erase函数通过迭代器插入或删除元素"可能"会导致迭代器失效
/vector<int> m_vector;
 for(vector<int>::iterator iter = m_vector.begin(); iter != m_vector.end();)
{
    if(需要删除)
    {
        iter=m_vector.erase(iter);
    }
    else
        ++iter;
}
/map<int,int> m_map;
for(map<int,int>::iterator iter = m_map.begin(); iter != m_map.end(); )
{
    if(需要删除)
    {
        m_map.erase(iter++);
    }
    else
        ++iter;
}
https://www.nowcoder.com/questionTerminal/c6ddbf9735aa493c98ad4413f0bbab51?source=relative
标签:写法 容器 不同的 erase bsp https 需要 logs 代码实现
原文地址:http://www.cnblogs.com/dd2hm/p/7258811.html