vector 迭代 删除指定的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector 迭代 删除指定的元素相关的知识,希望对你有一定的参考价值。
std::vector< Bullet * > m_vBullets;
std::vector< Bullet * > m_vRemoveBulltes;
if ( m_vRemoveBulltes.size() > 0 ){
for ( std::vector< Bullet * >::iterator it = m_vRemoveBulltes.begin(); it != m_vRemoveBulltes.end(); it++){ //需要删除的子弹
for (std::vector< Bullet * >::iterator it1 = m_vBullets.begin(); it != m_vBullets.end(); it1++){//总子弹
if ( *it == *it1 ){//当总子弹的和要删除的相等
removeChild(*it1);//删除子弹
m_vBullets.erase( it1 );//在总子弹数组里面删除子弹元素
it1 = m_vBullets.begin();//迭代重置..删除了子弹元素..会变成野指针.不写会报错
}
}
}
m_vRemoveBulltes.clear();//清空需要删除的子弹数组
}
以上是关于vector 迭代 删除指定的元素的主要内容,如果未能解决你的问题,请参考以下文章