今天無論如何要寫點(diǎn)東西,算是搞清楚了一點(diǎn)東西吧。有點(diǎn)小小的成就感。
之前在程序里面使用了list容器,其中用到了erase()函數(shù),之前一直沒出現(xiàn)問題,這兩天突然莫名奇妙。花了點(diǎn)時間,搞清楚了erase()函數(shù)的機(jī)理。
常用的刪除容器中元素的方法是如下(方法1):
list< int> List;
list< int>::iterator iter;
for( iter = List.begin(); iter != List.end(); )
{
if(1)
{
iter = List.erase( iter );
}
else
{
iter++;
}
}
也可以這樣寫(方法2):
list< int> List;
list< int>::iterator iter;
for( iter = List.begin(); iter != List.end(); )
{
if(1)
{
List.erase( iter++ );
}
else
{
iter++;
|