Get the App
SLTechnology News&Howtos  ›  Development  › 

Case Analysis of remove and erase in C++

Shulou Source: shulou.com Published: 2022-06-01 06:38:03 09月26日 Update

This article introduces the relevant knowledge of "case Analysis of remove and erase in C++". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

Introduction to erase

The prototype of erase function in vector is as follows:

Iterator erase (const_iterator position); iterator erase (const_iterator first, const_iterator last)

Used to delete an element or segment of an vector container.

When deleting an element, its parameter is an iterator that points to the corresponding element; when deleting an element, it is an iterator that points to the beginning of one element and an iterator that points to the next element at the end of the element.

When erase is called, the vector element moves forward, so you need to pay special attention to this feature to avoid out-of-bounds access and missed handling.

Sample code:

Int main (int argc, char * argv []) {vector myVector; myVector.push_back (1); myVector.push_back (2); myVector.push_back (3); myVector.push_back (4); myVector.push_back (3); myVector.push_back (3) MyVector.push_back (3); for (vector::iterator itr = myVector.begin (); itr! = myVector.end (); itr++) {if (* itr = = 3) {/ / now itr has pointed to the new next element If you do not perform an offset between itr-- and itr++, it will exceed the end and cause a crash. Itr = myVector.erase (itr); itr--;}} cout

Tags: Elements containers functions iterations points results analysis code parameters instances instance analysis clocking content prototypes actual time more knowledge examples introduction Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno macOS Shulou Technology Redmi Shulou Tech Info Xiaomi