关于使用STL常见的两个bug
1、bug 1class CTest{public :vector<int> getVector() const //需要写成引用形式,不然下面begin、end调用会以拷贝形式调用{return m_vec;}void push(int rValue){m_vec.push_back(rValue);}private:vector<int> m_vec;};void Test(){CTest a;for(int i=0;i<5;i++)a.push(i);vector<int>::iterator iBegin = a.getVector().begin();vector<int>::iterator iEnd = a.getVector().end();for(;iBegin!=iEnd;i++){if(*iBegin == 3)return 3;}return -1;}2、bug 2void Test(){CTest a;vector<int>::iterator iBegin = a.getVector().begin();for(int i=0;i<5;i++)a.insert(iBegin,i);//iBegin在一次插入之后,不在最开始的位置,甚至不再指向任何一个vector的元素}