關於使用vector時需要注意的細節
vector.erase()刪除iterator後,iterator會指向一個不可預期的地址,故需要將erase()的返回值賦值給iterator。 erase()會傳回下一個iterator的pointer,若在由for迴圈中iter++,則會少考慮了被刪除後的下一個iterator,故需加上--, 將iterator往前移,移到被刪除的iterator的前一個iterator,這樣for loop的++iterator才會考慮到被刪除的下一個iterator。
vector<int> v1;
vector<int>::iterator iter = v1.begin();
for(; iter != v1.end;)
{
if(*iter == 0x33)
{
iter = v1.erase(iter);
}
else
{
iter++;
}
}
相關文章
- 使用JavaScript變數需要注意哪些語法細節?JavaScript變數
- 關於網站建設需要把握的細節網站
- vector的使用注意點
- 電商選品需要注意的8個細節
- 企業建站的相關注意細節分享
- MYSQL索引建立需要注意以下幾點細節MySql索引
- 搭建直播系統前需要注意的細節有哪些?
- 關於輸入框的細節
- 數字展廳設計需要注意哪些細節?
- equals中關於空格需要注意的地方
- 需要提醒你關於 golang 中 map 使用的幾點注意事項Golang
- 關於python類屬性和例項屬性的一些細節注意點Python
- 這些Java程式碼最佳化細節,你需要注意!Java
- Golang陣列注意細節Golang陣列
- [20200409]使用ash_wait_chains注意的一個細節.txtAI
- 關於雲控系統的各種細節
- Will it finally: 關於 try/catch 的一些細節
- UI培訓教程分享:Ui設計的細節規範有哪些需要注意?UI
- Java面試要注意哪些細節Java面試
- 直播系統開發中選擇伺服器需要注意哪些細節伺服器
- 刷題時需要的注意事項
- 關於內購支付的流程和一些需要注意的坑
- 關於MySQL使用的時長MySql
- 租用伺服器時需要注意的伺服器
- 建設網站時需要注意的網站
- 關於SVM數學細節邏輯的個人理解(一)
- 使用 sendBeacon 需要注意的問題
- Go 1.16 中關於 go get 和 go install 你需要注意的地方Go
- OpenFeign 使用細節
- STL----vector注意事項
- golang defer使用需要注意Golang
- BAT面試必問細節:關於Netty中的ByteBuf詳解BAT面試Netty
- [JAVA] Java switch的使用細節Java
- SAP打補丁時需要注意的地方
- 安裝rac時需要注意的問題
- 記錄使用 Homestead 需要注意的事情
- 乾貨 | APP介面設計的色彩注意細節,有哪些?APP
- 使用HTTP需要注意什麼?HTTP