1 清空所有元素
m_itemVector.clear();
2 遍曆
vector<ITEM_CHECK>::iterator iter=m_itemVector.begin();for(i=0;iter!=m_itemVector.end();iter++,i++){if(iter->flag==-1){break;}iter->flag=1;}
vector<ITEM_CHECK>::iterator iter=m_itemVector.begin();for(i=0;iter!=m_itemVector.end();iter++,i++) //先全部取消{iter->flag=0;}
3 刪除合格項
int CurrentCount=(int)m_itemVector.size();for(int i=0;i<CurrentCount;i++){if(m_itemVector.at(i).flag==1){m_itemVector.erase(m_itemVector.begin()+i);DeleteItem(i);this->Invalidate();CurrentCount--;i--; //刪除第i位置後,需要重新判斷第i位置是否符合條件,因此需要i--。}}
4 正序遍曆 然後反序遍曆
vector<ITEM_CHECK>::iterator iter=m_itemVector.begin();for(i=0;iter!=m_itemVector.end();iter++,i++) //先全部取消{iter->flag=0;}for (;i>0;) //從後往前設定 iter 退到Begin() 再減的話 就會出現問題{iter--; //結束時,正好退到Begin()i--;iter->flag=1;}
5 在VECTOR中尋找
#include<vector>#include<algorithm> //在VECTOR中尋找using namespace std;
vector<int> L; L.push_back( 1 ); L.push_back( 2 ); L.push_back( 3 ); L.push_back( 4 ); L.push_back( 5 ); vector<int>::iterator result = find( L.begin( ), L.end( ), 3 ); //尋找3 if ( result == L.end( ) ) //沒找到 cout << "No" << endl; else //找到 cout << "Yes" << endl;