C++ vector中實際刪除元素使用的是容器vecrot中std::vector::erase()方法。
C++ 中std::remove()并不刪除元素,因為容器的size()沒有變化,只是元素的替換。
1.std::vector::erase()
函數原型:iterator erase (iterator position);//刪除指定元素
iterator erase (iterator first, iterator last);//刪除指定范圍內的元素
返回值:指向刪除元素(或范圍)的下一個元素。(An iterator pointing to the new location of the element that followed the last element erased by the function call. This is the container end if the operation erased the last element in the sequence.)
2.代碼實例
#include
#include
#include
using namespace std;
int out(vector &iVec)
{
for(int i=0;i
cout<
cout<
return 0;
}
int main()
{
vector iVec;
vector::iterator it;
int i;
for( i=0;i<10;i++)
iVec.push_back(i);
cout<<"The Num(old):";out(iVec);
for(it=iVec.begin();it!=iVec.end();)
{
if(*it % 3 ==0)
it=iVec.erase(it); //刪除元素,返回值指向已刪除元素的下一個位置
else
++it; //指向下一個位置
}
cout<<"The Num(new):";out(iVec);
return 0;
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C++
+關注
關注
22文章
2104瀏覽量
73497 -
Vector
+關注
關注
3文章
56瀏覽量
8557
發布評論請先 登錄
相關推薦
c++之vector容器
1.vector容器介紹 ? ? ? 向量(Vector)是一個封裝了動態大小數組的順序容器(Sequence Container)。跟任意其它類型容器一樣,它能夠存放各種類型的對象。可以簡單的認為
vector用法總結(轉載)
,并且for中的測試比較ix和0。第一次循環時,由于ix本身就是0,則條件測試失敗,for循環體一次也不執行。關鍵概念:安全的泛型編程C++程序員習慣于優先選用!=而不是
發表于 05-01 15:22
Visual C++ 6.0 高級編程 -下載
Visual C++ 6.0 高級編程,免費下載:全面介紹了Visual C++ 6.0的中高級編程技術,其內容主要有:內存管理、高級圖形處理、使用Internet、創建多線程程序、創
發表于 07-12 15:25
?0次下載
C++中vector的定義與初始化
C++中的vector vector(向量)是一種序列式容器,類似于數組,但比數組更優越。一般來說數組不能動態拓展,因此在程序運行的時候不是浪費內存,就是造成越界。而vector正好彌
動態數組和C++ std::vector詳解
std::vector是C++的默認動態數組,其與array最大的區別在于vector的數組是動態的,即其大小可以在運行時更改。std::vector是封裝動態數組的順序容器,且該容器
c++怎么開始編程
C++是一種高級的、通用的編程語言,用于開發各種類型的應用程序。它是從C語言演變而來,也是一種靜態類型語言,可以在不同的平臺上進行開發。C++具有高度的靈活性和性能,并且廣泛應用于游戲
評論